我有一个带有可点击标记的可拖动div:
<div id='myDiv'>
<a id='mylabel' onclick="alert('i am clicked')">some text</a>
</div>
$("#myDiv").draggable({
stop: function(e){
//want to cancel the click event on the nested a element
//e.preventDefault(); ??
//e.cancelBubble(); ??
}
});
当我停止拖动时,将触发click事件,这是我不希望的。我尝试了preventDefault并在停止放置事件上取消,但是click事件仍然会触发。有任何想法吗?
答案 0 :(得分:0)
我知道了。技巧是将click事件附加到可拖动的div,如下所示:
$("#myDiv").click(event.stopPropagation());
由于拖动div还会调用click事件,然后将click事件传播到子标签,因此stop drag事件是错误的停止方法。消除点击传播是一种方法。