jQueryのドキュメントによると
イベント ハンドラから false を返すと、自動的に event.stopPropagation() と event.preventDefault() が呼び出されます。function(){ return false; の省略形として、ハンドラーに false 値を渡すこともできます。}。したがって、 $("a.disabled").on("click", false); クラスが「無効」のすべてのリンクにイベント ハンドラーをアタッチします。これにより、クリックされたときにリンクをたどることができなくなり、イベントのバブリングも停止します。
したがって、クリックイベントを作成すると:
$('#sidebar').on("click", ".toggle", function() {
$(this).parents("p").next("ul").toggle(400);
return false;
});
.toggle
からに伝播する機会がないため、クリックが登録されないことが予想されます#sidebar
私が思いついた唯一の説明は、これが許されるとon()
関数がかなり無意味になるということです。おそらく、この場合はバイパスされますか?
on()
バブリングに関しては、どのような規則に従いますか?