我在一个元素上使用jQuery Ui可调整大小。但是,调整大小事件会触发元素本身的单击事件并单击其父级的事件。我尝试使用event.stopPropagation()
,但它显然不起作用。
这是我的html的简单形式:
<div class="parent">
<div class="child ui-resizable">
...
<div class="ui-resizable-handle ui-resizable-s"></div>
</div>
</div>
我的js看起来像这样:
$('.parent').on('click',function(){
openModal();
});
$('.child').on('click',function(e){
e.stopPropagation(); // To Prevent the child triggering parent click event.
openSecondModal();
});
$('.ui-resizable').resizable({
ghost: true,
grid: 24,
handles: "s",
resize: function (event, ui) {
event.stopPropagation();
},
start: function (event, ui) {
event.stopPropagation();
},
stop: function (event, ui) {
event.stopPropagation();
},
})
拖动处理程序会触发click事件。 有没有办法阻止点击事件的发生?
答案 0 :(得分:0)
也许这对你有用:
$('.parent').on('click',function(e){
if(e.target !== e.currentTarget) return;
openModal();
});