jQuery focusout事件无法正常工作

时间:2013-03-13 15:02:14

标签: jquery

我有以下代码:

    <div id="id1">
        <div id="id2">
            <p> some text </p>
        </div>
        <div id="id3">
             <!--some other div elements-->
        </div>
    </div>
当点击页面上的某个按钮时,

#id2contenteditable

我的脚本包含以下代码:

jQuery("#id1").focousout(focousoutFunction);

问题在于,如果#id2失去焦点,则会触发focousoutFunction。 是否有一种方法focusout只会在实际元素失去焦点而不是内部元素时捕获事件?

2 个答案:

答案 0 :(得分:0)

您可以强制javascript停止传播。

jQuery("#id1 div").focusout(function(event) {
   event.stopPropagation();
});

答案 1 :(得分:0)

  

当焦点事件任何元素时,会将焦点事件发送给元素   在里面,失去焦点。这与模糊事件不同   它支持检测后代元素的焦点丢失   (换句话说,它支持事件冒泡)。

Jquery documentation

每当#id1内的元素失去焦点时,焦点输出就会触发,即使#id1没有失去焦点本身(尽管我不确定你可以将焦点事件分配给div元素) ;