2011-08-11 6 views
0

もし私が2つのjQueryバインディングを持っていれば;jQuery bind()の順番

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

} 

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

} 

ここで入力チェックボックスは、同じ文書の一部です。

私の質問です。 これら2つのバインドの実行順序はどのようになりますか?

2との間に衝突がありますか?

答えて

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/

+0

私の場合はどうなりますか?私はチェックボックスが私の場合の文書の一部であることを意味します。 – Diana

+0

チェックボックスは、まずそのハンドラを起動します:http://jsfiddle.net/EgyUZ/ – andlrc

+0

と言いましたが、チェックボックスハンドラでは、 'return false'をイベントがドキュメントの上にバブリングするのを防ぐ –