簡體   English   中英

jQuery UI:單擊事件在調整大小時被觸發

[英]jQuery UI: Click event is being triggered on resize

我正在使用可調整大小的jQuery Ui。 但是調整大小事件會觸發元素本身的click事件和其父元素的click事件。 我嘗試使用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事件。 有沒有辦法阻止點擊事件發生?

也許這將為您工作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM