stopPropagation()不会停止事件冒泡?

时间:2010-09-28 02:20:48

标签: jquery event-bubbling

jsFiddle

我正在使用一个允许用户在区域中绘制框的jQuery插件。我在用户放开鼠标按钮时出现的框中放了一个下拉列表。问题是,当您尝试单击下拉列表以选择选项时,将绘制另一个框。我试图使用以下代码来阻止点击事件冒泡(这是jsFiddle中javascript文件的底部附近),但它不起作用:

$('.dropdown').click( function(e) {
    e.stopPropagation();
    return true;
});

我做错了什么?谢谢你的阅读。

1 个答案:

答案 0 :(得分:3)

解决方法是在鼠标拖动开始时检查目标是什么。像这样的东西,

if (event.target.tagName.toLowerCase() != 'div' ) { return; }

或者,在发生的所有事件中。

OP's demo, updated