回答
你不應該換用label
元素input
元素,試試這個:
<label for="average-data" class="section-view-time-checkbox">
<span class="custom checkbox checked"></span> Average
</label>
<input type="checkbox" id="average-data" style="display: none;">
你需要你的點擊處理程序中調用event.preventDefault()
。這可以防止在您的自定義函數運行後執行默認的點擊操作。第二次警報發生是因爲表單正在提交。
爲什麼要提交表單?這只是一個'標籤'?另外,我不想做'event.preventDefault()'的原因是因爲我偶爾也會將鏈接嵌入到轉到另一個頁面的標籤中。 – Pwnna
我真的不知道。輸入元素的默認點擊行爲顯然會改變元素的狀態,導致它以某種方式刷新。因爲你知道你想要做什麼並不重要,你可以避免其他行爲;我很好奇自己,但我會在這裏發帖,如果我遇到一個很好的解釋 – nbrooks
你可以綁定一個不同的點擊監聽器到錨鏈接並調用該監聽器中的'event.stopPropagation()',以防止觸發點擊它的父元素。然後,它會執行其默認重定向/ changehash行動,沒有別的 – nbrooks
這是在Javascript中常見的錯誤。你可以在互聯網上找到很多專門針對SO的文章,因爲事件被激發了兩次。你可以嘗試這樣的事情
$(document).on('click', '#task-list li', function(e)
{
alert('Hellow world');
e.stopPropagation();
return false;
});
而且它絕對的Javascript問題,因爲如果你打穀歌和搜索事件火災兩次你會看到,折角,jQuery和骨幹網等所有的地方開火事件兩次甚至三次。所以,它似乎是在這背後的JavaScript。當然,如果你使用Mozilla開發者網絡進行搜索,那麼你可以看到專家也這麼說。
- 1. jQuery單擊事件觸發兩次
- 2. jQuery li點擊事件觸發兩次
- 3. jquery點擊事件兩次觸發
- 4. JQuery的單擊事件觸發60次
- 5. jQuery的單擊事件觸發多次:(
- 6. jQuery - 單擊事件多次觸發
- 7. jQuery事件觸發兩次
- 8. 由於關閉頁面單擊,jquery事件觸發了兩次?
- 9. AJAX jQuery單擊功能事件被觸發兩次的結果
- 10. 委派單擊事件會導致事件觸發兩次
- 11. 點擊事件觸發兩次
- 12. 雙擊兩次觸發事件
- 13. JavaScript事件點擊觸發兩次
- 14. jQuery觸發點擊觸發兩次
- 15. jquery點擊事件 - 需要點擊兩次才能觸發
- 16. JQuery點擊事件觸發多次
- 17. jquery .on()兩次觸發事件
- 18. jquery事件無端觸發兩次
- 19. jQuery Mobile「mobileinit」事件觸發兩次?
- 20. 單擊多次觸發事件
- 21. 觸發敲除單擊事件多次
- 22. jquery點擊觸發兩個「事件」
- 23. JQuery單擊類事件觸發多次點擊
- 24. JavaScript事件觸發兩次
- 25. JSlider事件觸發兩次
- 26. 觸發兩次的事件
- 27. PreviewKeyDown事件觸發兩次
- 28. keydown事件觸發兩次
- 29. jQTouch事件兩次觸發
- 30. jquery移動點擊事件觸發兩次
剛擺脫它在一起。因爲我沒有提交表格,所以不需要它。只利用一些CSS樣式。 – Pwnna
@ultimatebuster祝你好運:) – undefined