Javascript jquery回调专用性
Javascript jquery回调专用性,javascript,jquery,Javascript,Jquery,jQuery的事件回调有什么特殊性吗。比如,我在div元素和文档上注册了mousedown事件回调。如果我点击div,会触发哪一个?注册顺序重要吗?或者说特殊性(比如css)很重要 谢谢。它将弹出DOM树并调用该类型的所有其他事件 你可以停止这一切 你的榜样 如果你像这样分配活动 $(document).mousedown(function() { alert('document'); }); $('div').mousedown(function() { alert('div'); });
jQuery的事件回调有什么特殊性吗。比如,我在div元素和文档上注册了mousedown事件回调。如果我点击div,会触发哪一个?注册顺序重要吗?或者说特殊性(比如css)很重要
谢谢。它将弹出DOM树并调用该类型的所有其他事件 你可以停止这一切 你的榜样 如果你像这样分配活动
$(document).mousedown(function() { alert('document'); });
$('div').mousedown(function() { alert('div'); });
将鼠标放在任意位置将触发文档的处理程序,并获得一个带有文档的警报对话框
将鼠标放在任何div
上都会触发div
的处理程序,然后将DOM冒泡到document
并在那里触发其事件处理程序。您将获得两个警报对话框;首先是div one,然后是document one。这两个事件都将被触发,首先是div,然后是document单击。它将从内到外执行这两个事件。单击div将触发div事件,然后单击文档
$(window.document).click(function(e){
alert("doc");
});
$("div").click(function(e){
alert("div");
});
$(window.document).click(function(e){
alert("doc");
});
$("div").click(function(e){
alert("div");
e.stopImmediatePropagation(); // prevents $(doc) from rising
});
您可以避免它使用触发其他事件
$(window.document).click(function(e){
alert("doc");
});
$("div").click(function(e){
alert("div");
});
$(window.document).click(function(e){
alert("doc");
});
$("div").click(function(e){
alert("div");
e.stopImmediatePropagation(); // prevents $(doc) from rising
});
因此,顺序始终是从tip/节点到根,即使我在根(document)之后注册节点(上面的div)@bsreekanth,它们以什么顺序注册并不重要,它们总是从它们自己到所有的祖先,直到停止document
。