【问题标题】:Order of jQuery bind()jQuery bind() 的顺序
【发布时间】:2011-08-11 09:14:42
【问题描述】:

如果我有 2 个 jQuery 绑定;

$("input:checkbox").bind("touchstart",function(){

}

$(document).bind('touchstart',function(e) {

}

这里的输入复选框是同一个文档的一部分。

所以我的问题是; 这两个绑定的执行顺序是什么?

两者之间会不会有冲突?

【问题讨论】:

    标签: javascript jquery iphone ipad safari


    【解决方案1】:

    我很确定 jQuery 事件正在冒泡。从最深的子元素到根元素:

                   / \
    ---------------| |-----------------
    | element1     | |                |
    |   -----------| |-----------     |
    |   |element2  | |          |     |
    |   -------------------------     |
    |        Event BUBBLING           |
    -----------------------------------
    Thanks to www.quirksmode.org for this image
    

    这是一篇关于事件顺序的好文章: http://www.quirksmode.org/js/events_order.html

    在您的情况下,复选框将首先触发其处理程序。 http://jsfiddle.net/EgyUZ/

    【讨论】:

    • 我的情况会怎样?我的意思是复选框在我的情况下是文档的一部分..
    • 值得一提的是,在复选框处理程序中,您可以添加return false 以防止事件向上冒泡到文档中..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2013-06-12
    • 2011-04-12
    相关资源
    最近更新 更多