javascript,事件传播和输入字段

时间:2012-05-30 11:49:47

标签: jquery click stoppropagation

所以我有一个输入字段,当你用鼠标进行交互时,它基本上不会工作。这是因为:

  • 通过在编辑模式下展开该项目来加载后创建输入
  • 要展开项目,我们在li上使用click事件,li是标题的父级,将被输入替换
  • 由于应用程序的工作方式,我们需要使用live而不是click,这会阻止使用stopPropagation()

所以我们正在使用:

$('li').live("click",function(e) {
    if ($(e.target).is('input') ) { return; }

    // do stuff
});

然后因此,显然只要鼠标试图在输入中单击,移动光标,突出显示其内容等,它就会忽略它。

如果我删除了目标行,当我点击输入时它会关闭li。

所以...我的问题:任何想法如何使输入可点击,而不关闭li,仍然可以使用直播而不是点击?

2 个答案:

答案 0 :(得分:0)

嗨,如果我找到了你想要阻止事件传播,但是你无法使用stopPropagation()方法。 检查实时方法的文档,如果你想停止支持,你的方法应该返回false;

请参阅实时方法的api文档:live()

答案 1 :(得分:0)

您仍然可以使用e.stopImmediatePropagation()

http://jsfiddle.net/NJ9cb/