Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查父元素中的单击,而不是子元素中的单击?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何检查父元素中的单击,而不是子元素中的单击?

Javascript 如何检查父元素中的单击,而不是子元素中的单击?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,代码: HTML (这只是实际代码的基本结构…实际代码中有些东西是不同的,例如子元素是jQuery UI可拖动元素)JavaScript/DOM事件的工作方式是,它们从子元素“冒泡”到父元素。因此,您只需在子元素处停止该操作: $('#child').click(function(event) { event.stopPropagation(); }); 有关更多信息,请参阅。或者,您可以检查父级事件处理程序中的原始元素。好的,我会这样做: $("#child").click(func

代码:

HTML
(这只是实际代码的基本结构…实际代码中有些东西是不同的,例如子元素是jQuery UI可拖动元素)

JavaScript/DOM事件的工作方式是,它们从子元素“冒泡”到父元素。因此,您只需在子元素处停止该操作:

$('#child').click(function(event) {
    event.stopPropagation();
});

有关更多信息,请参阅。或者,您可以检查父级事件处理程序中的原始元素。

好的,我会这样做:

$("#child").click(function() { });

虽然这看起来有点难看,但我认为它肯定会工作。

实际上,在JavaScript中有两种类型的DOM事件附加:和。(注意:链接与链接文本没有直接关系)@Hello71:我知道。只是捕捉不经常使用,因为它在IE8或更低版本中不起作用。Internet Explorer确实支持一种称为“鼠标捕获”的有限形式,但:
$('#child').click(function(event) {
    event.stopPropagation();
});
$("#child").click(function() { });