事件逆序

时间:2015-05-10 15:36:34

标签: javascript jquery

我想知道如何更改事件的顺序。 因为我必须检查我何时通过点击获取了focusOut,如果点击是在父div中,我不能让它发生在focusOut上。

问题,称为第一个事件focusOut click事件。

是否有可能扭转事件的顺序? (点击 - focusOut)?

http://jsfiddle.net/eL19p27L/5/

$(document).ready(function(){
    $(".clean").click(function(){
        $(".alert").html("");
    });



    $(document).on({
        click: function(e){
            $(".alert").append("<p>click</p>");
        },
        focusin: function(e){
             $(".alert").append("<p>focusin</p>");
        },
        focusout: function(e){
            $(".alert").append("<p>focusout</p>");
        }

    })
});

会更好。如果我能够发现事件可能会产生什么样的fucusout。因此检查它是否发生在父div内,如果不是一个focusIn,它就不会给出focusOut。

ATT

1 个答案:

答案 0 :(得分:1)

不,您在公共父级上设置事件处理程序的方式,您无法更改事件的顺序。

但是,您可以将事件处理程序附加到要监视的特定对象,然后您只能查看该对象的事件。

或者,您可以查看事件的目标并查看哪个对象是哪个,您将看到focusOut事件位于与click事件不同的对象上。

您可以使用e.target查看活动来源。

查看作为事件来源的对象的示例:http://jsfiddle.net/jfriend00/u5tLhes7/