jQuery UI:调整大小时触发Click事件

时间:2018-02-24 12:43:32

标签: javascript jquery jquery-ui resizable

我在一个元素上使用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事件。 有没有办法阻止点击事件的发生?

1 个答案:

答案 0 :(得分:0)

也许这对你有用:

$('.parent').on('click',function(e){
   if(e.target !== e.currentTarget) return;
   openModal();
});