2010-06-14 68 views
0

即時通訊使用一些jQuery排序和我基本上有兩個事件處理程序設置在可排序的init(接收和停止)問題是,如果接收事件觸發,那麼我不希望停止事件觸發。換句話說,當我只需要發送一個Ajax請求時,它會向我的服務器發送兩個Ajax請求。jQuery可排序事件

有沒有辦法檢查接收事件是否已經被觸發?

謝謝!

回答

1

示例代碼將幫助某些人,但您可以使用諸如$(this).data({fired: false});之類的內容在Sortable上存儲屬性。然後,在接收和停止方法中,執行諸如var props = $(this).data(); if (!props.fired) { // your execution code }之類的操作來檢測它。在執行塊的內部,你需要包含一條如$(this).data({fired: true});的行來記錄它已經發送。

+0

稍微更緊湊:'if($(this).data('fired')) ...'你也不需要這樣初始化它。 – Tgr 2010-10-04 19:51:13

1

只有當您從另一個列表中拖動項目時,接收事件纔會觸發。 在您的「停止」處理程序中,您可以檢查該項目來自哪個列表,並且如果它是相同的列表,則不發送ajax請求