2010-02-17 72 views
11

我在網頁上有一個鏈接打開了一個模式對話框。第一次鏈接被點擊時,初始化代碼執行。隨後的點擊無需進行任何處理。這裏的問題是,當人們雙擊鏈接初始化代碼運行兩次 - 即使我立即設置一個標誌,說我已初始化,並且如果標記不運行init函數。我該怎麼辦?雙擊網頁上所有內容的人... jQuery雙擊問題

  • 點擊時,我可以取消綁定點擊功能上 這個鏈接,後來我 需要時 對話框關閉,再次綁定功能。
  • 我可以綁定到dblclick事件 並返回false?
  • 我可以保存元素上的'lastclicked'時間 ,然後檢查是否說 2秒已經過去讓 事件觸發?
+2

不能您只需綁定到DBLCLICK呢?我看不出爲什麼這是行不通的。 – 2010-02-17 20:42:41

+0

綁定到dblclick的麻煩是,如果用戶雙擊,我返回false - 對話框將不會打開,用戶將繼續跆拳道這個鏈接不工作:)我想我可以等幾個毫秒,然後觸發點擊手動功能? – superlogical 2010-02-17 20:44:39

回答

5

我使用Ben Nadel's jQuery ajax wrapper。每次創建ajax請求時,都可以選擇給它一個名稱。 ajax包裝器會跟蹤所有已命名的請求,如果它仍在等待來自先前具有相同名稱的請求的響應,則會丟棄所有重複的請求。

通過將所有的ajax調用放在這個「管道」中,您對處理每個調用都有很好的集中控制。

+0

嗨womp - 謝謝你的擡頭!這是我一直在努力的一點點:)我會檢查出來! – superlogical 2010-02-17 20:46:36

0

我做了一個插件來擴展jquery ajax方法並添加一個單獨的標誌,並帶有一個額外的阻塞標誌來告訴ajax忽略所有使用這個url(或key)的後續調用。

你提供額外的AJAX調用通常{單:真的,堵:真正}選項

當你調用同阿賈克斯兩次第二個電話不火,如果第一個呼叫仍在處理。 V方便至今:

http://github.com/dougle/jQuery-Ajax-Singleton

+0

我想我將不得不嘗試一下:)我的問題實際上沒有任何關於ajax的事情 - 它做了很多YUI小部件,這是非常昂貴的。所以是的,如果我正在做Ajax,那麼包裝jQuery ajax的東西是沒問題的。但在這種情況下,這是雙擊。 – superlogical 2010-12-10 08:35:08