我對已發佈的以下問題進行了查詢:「在.clickable類被刪除後,jQuery click()仍然被觸發」現在,在類似的情況下,如果某個類的點擊調用了某個函數,使用動畫,我們希望僅在該功能執行的時候禁用點擊,然後再次點擊。我們怎麼做到這一點?如何讓一個類不可點擊直到它執行一個函數然後再次點擊它?
0
A
回答
2
您可以在鏈接class =「clickable」中添加一個類。而在點擊功能,這樣做:
$('#clickme').bind('click', function(e) {
...
if(!$(this).hasClass('clickable')) { return; }
...
// the rest of line will get executable only if link has clickable class
});
在其他功能,在需要時啓用或禁用可點擊:
$('#clickme').addClass('clickable'); // to make it clickable
or
$('#clickme').removeClass('clickable'); // to make it 'non-clickable'
0
如果你不關心IE瀏覽器,快速(和骯髒? )的解決方案是添加一個類,pointer-events設置no none到您要禁用的元素全部附加的事件,然後隨時刪除類。
它有一些缺點(例如,一些邏輯放在CSS內),但我覺得它非常方便。
小提琴(不會在IE瀏覽器,僅適用於Chrome測試):fiddle (我這麼被迫在這裏添加代碼,因爲我有一個小提琴鏈接)
JS
function onClick(evt) {
alert("clicked !");
evt.target.classList.add("no-event");
setTimeout(function() {
evt.target.classList.remove("no-event");
alert("you can click again !");
}, 5000);
}
CSS
.no-event {
pointer-events : none;
}
+0
這個答案用一個簡單的例子會更好...... –
+0
@LaurentS。完成,檢查出來 –
0
小號ay滑塊與動畫一起工作,我們希望僅在功能執行時禁用點擊,然後再次點擊。
有幾種方法,但如果你想使用滑塊的情況,那麼你可以使用這種方式:
$('#next, #prev').on('click', function(){
if($(this).hasClass('clicked')){ return;}
$(this).addClass('clicked');// add the class to stop any execution after if check above.
});
然後,你必須在動畫結束,從按鈕,刪除clicked
類:
$('.slider').on('animationend', function(){
$('.clicked').removeClass('clicked'); // remove the class to enable it.
});
相關問題
- 1. 如何讓一個按鈕做一個動作然後當我點擊它再次另一個動作
- 2. 如何在第一次點擊後選擇一個字段後再次點擊
- 3. 讓一個java函數等待一個按鈕被點擊直到它返回
- 4. ,如何在第一次點擊後禁用按鈕,並在點擊另一個按鈕後再次啓用它?
- 5. JQuery - 如何讓這個函數運行一次點擊兩次
- 6. 點擊一個功能按鈕再次點擊另一個
- 7. 點擊然後上去,再次點擊,然後下去
- 8. 創建一個web按鈕,當鼠標懸停後點擊,然後再次點擊後再次發生變化
- 9. JQuery的點擊()函數執行一次
- 10. 如何顯示文字一旦點擊了按鈕,然後如果再次點擊按鈕,它會消失?
- 11. 我怎麼才能讓一個按鈕保持焦點的CSS風格,直到我再次點擊它
- 12. VScrollbar不可見,直到它被點擊
- 13. 直到點擊後顯示mdTooltip,再次點擊時隱藏
- 14. 在網頁上找到一個名爲鏈接,然後再點擊它 - 在Javascript
- 15. 當一個標記被點擊時,我想點擊它3次
- 16. 停止一個按鈕單擊的遞歸AJAX調用,然後再次點擊一個按鈕,然後再次啓動它
- 17. Sikuli如何用於等待按鈕,直到它顯示它,然後點擊它?
- 18. IBAction爲按鈕:我想點擊或單擊一旦停止,然後單擊或再次點擊播放再次
- 19. 不是一個函數後先點擊
- 20. 點擊一個div展開它,點擊它使用JavaScript
- 21. jQuery錯誤框不會在第一次點擊時出現。當我再次點擊它第二次它要去
- 22. jQuery點擊事件在ajax調用後再次執行函數
- 23. 如何點擊一個元素,然後用它來改變另一個元素
- 24. Swift啓用點 - 讓點再次點擊
- 25. 第一次點擊後,用戶可以多次點擊一個按鈕,當它關閉表格時
- 26. jQuery的。點擊功能 - 防止它被再次調用,直到函數完成
- 27. jQuery:讓最後一個點擊一個鏈接,並做一個動作或它
- 28. 一個函數在同一類的元素上點擊點擊
- 29. 如何通過GetElementByClass選擇一個類,然後通過編程點擊它
- 30. 第一次點擊jQuery setTimeout然後第二次點擊clearTimeout
您應該發佈一些你已經寫的代碼,所以我們可以看看它的 – Jesse
可能重複[jQuery的 - 如何刪除動畫或功能正在運行僅在事件處理( http://stackoverflow.com/questions/3 438426/jquery-how-to-remove-event-handler-only-while-an-an-an-an-function-is-runn) –