簡體   English   中英

觸發自定義jQuery事件並延遲它

[英]Trigger Custom jQuery Event and delay it

我想觸發從DOM中刪除元素的事件。 可悲的是,我必須使用原始的.remove() ,因為它是從外部腳本中調用的。 因此,我擴展了jQuery以捕獲事件:

var oldRemove = $.fn.remove;
$.fn.remove = function(){
    this.trigger('remove');
    return oldRemove.apply(this, arguments);
};

這很好。 我可以這樣使用它:

$('ul').find('li').on('remove', function(e){
    console.log('EVENT REGGED');
});

我想使用此代碼突出顯示元素的刪除 示例:將元素的顏色設置為紅色,等待2秒鍾,然后將其刪除。

最優雅的方法是什么? 我已經嘗試過使用e.preventDefault()e.stopPropagation或從觸發器返回某些內容,但是沒有任何效果。

這是一個小提琴,您可以對其進行測試: http : //jsfiddle.net/xahthnjz/

為了突出顯示元素然后延遲刪除,我該怎么辦?

您可以在自定義jQuery函數中使用setTimeout來應用顏色更改后處理項目的刪除。 我在這里做了一個例子: http//jsfiddle.net/mkjj94m1/2/

我將函數重命名為deleteItem因為remove是現有的jQuery函數。

暫無
暫無

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

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