jQuery:点击*only*this元素

Gri*_*... 6 javascript jquery click parent-child

超级技术图纸

在上面的高度艺术绘画中,绿色广场是粉红色的孩子.粉红色的一个用我的功能包裹在绿色的那个,所以绿色方块可以是任何东西 - 超链接,图像,按钮等.

如果不是单击绿色元素,我想捕获粉红色div上的单击.

这可以通过在绿色方块上使用mouseenter翻转布尔值来完成,但这对我来说似乎是一种混乱的方式.

有线索吗?

重要编辑:我根本不能搞乱绿色方块,所以不要在click事件中添加任何东西.

jma*_*777 8

你可以这样做:

$('.pink-box-selector').click(function(e) {
    if ($(e.target).is('.pink-box-selector')) {
        // do stuff here
    }
});
Run Code Online (Sandbox Code Playgroud)


Mic*_*ior 5

两种选择.您可以先检查目标是否为绿色div.

$('#pinkdiv').click(function(e) {
  if ($(e.target).is('#greendiv')) return;
  // handle the event
});
Run Code Online (Sandbox Code Playgroud)

或者你可以正常编写粉色div的点击处理程序,并停止点击绿色div进行传播.

$('#greendiv').click(function(e) {
  e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)