如何确定此单击元素是否为somemenu的子集?
var clicked = e.target;
// this checks see if the clicked has id of somemenu.
$(clicked).attr("id") == '#somemenu';
<div id="somemenu">
<a href="something.php"> menu 1 </a>
<!--bunch of other elements here, can be anything.-->
</div>
我想抓住`div#somemenu的子集中的任何元素?当它被点击时。
答案 0 :(得分:13)
这将有效:
if ($(clicked).parents('#somemenu').length) {
// I am a child of somemenu so do stuff.
}
答案 1 :(得分:1)
使用stopPropagation
和jquery的on
方法更简单:
jQuery('#myID').on('click',"*",function(e){
e.stopPropagation(); //stop the propagation
console.log("Clicked element: ",jQuery(this)); //get the element clicked by the mouse
console.log("Parent: ",jQuery(this).closest("#myID"));
});
如果您不停止传播,则应致电jQuery(this);
的所有家长
答案 2 :(得分:0)
一种更清洁,更易读的解决方案恕我直言
if($.contains(someElement, clicked)){ // DO STUFF }