我很抱歉,如果這個問題已經回答,但我沒有發現儘管已經搜查積極#2相關的任何東西。當.off()然後調用.on()時,是否有可能從Jquery推遲事件?
我目前遇到在我的腳本的一個很奇怪的行爲,行爲似乎並不自然的我,但可能有其原因(我沒有找到這雖然):
其實,我作品就像這樣:通過改變表單輸入(選擇和廣播),然後調用一個程序來計算特定數據(重量,價格等)。那段時間,最終產品不應該添加到購物車,這就是爲什麼當我們改變表單輸入,這個提交按鈕是"disabled"
(他的一些額外的處理由於回調)及其on('click')
聽衆與off()
禁用。
當計算完成後,程序會告訴按鈕現在再次點擊加入回調函數後面。
的實際行爲是當按鈕被禁用(後off()
),按鈕上點擊不會觸發任何東西,但如果計算已經結束,on()
聽衆重新添加該按鈕,回調掛鉤該按鈕被調用而沒有任何動作。感覺超怪我,因爲它可能需要的on()
監聽器是回觸發回調之後再點擊一下,但很可能是內復活節蛋或功能我不知道的。
function callback() {
// >>
// ...
// <<
}
function start() {
$(".button").off("click");
}
function finish() {
$(".button").on("click", callback);
}
function process() {
start();
// >>
// some inner ajax calls
// <<
finish();
}
$(".button").on("click", callback);
你對發生了什麼有什麼想法嗎?
非常感謝您的關注,歡迎索取詳細信息,如果你需要一些。
編輯:至於問,這裏是我已經設置了介紹我的情況下,小提琴,但不幸的是我設法複製上面的情況下,即使背景下幾乎是一樣的:https://jsfiddle.net/Cr3aHal0/nfon051x/21/
我們如何執行你的代碼? – Rayon
你可以設置一個小提琴演示嗎? (旁註:你並不需要開始和結束;你可以讓處理程序處於活動狀態,如果它來自處於禁用狀態的按鈕,則返回false。) – Utkanos
@Utkanos,其實'禁用'按鈕將不會調用點擊處理程序.. – Rayon