我有一些onclick
屬性的HTML。我想用jQuery覆蓋該屬性。有沒有辦法使用jQuery刪除點擊處理程序?使用unbind doesn't work。我可以使用jQuery刪除內聯事件處理程序嗎?
回答
嘗試.removeAttr()
功能:
$(function() {
$('a').removeAttr('onclick');
});
一旦你擺脫了onclick
屬性,你可以附加你自己的點擊處理程序。
完美!謝謝。 – Skilldrick 2010-10-02 15:05:27
我有一個標籤上的js內聯代碼onclick =「document.setLang {{lang.1}}。submit(); return false;」提交表單,但我不能停止提交表單,如你所說... – ratata 2015-02-26 08:54:04
$("#theElement")[0].onclick = function() {
whatever();
};
// -- or --
$("#theElement")[0].onclick = null;
這不是說jQuery會使標準的DOM功能和屬性消失。 ;-)
你是對的,但關於jQuery函數的好處是它們適用於所有元素,所以我可以從所有匹配元素中刪除onclick,而無需在他們旁邊閒逛。 – Skilldrick 2010-10-02 15:34:41
@Skilldrick:從技術上講,'removeAttr()'也是一個循環。但我同意自己編寫循環會更方便。 – Tomalak 2010-10-02 15:45:08
有一個它的插件,但你應該只在你真的需要時這樣做。該插件可讓您選擇調用舊函數或完全忽略它。
$(divElementObj).override('onclick', 'click', function(...));
試圖給出的選項,但部分工作,因爲他們刪除了一個但不是全部。
相反,我嘗試以下鏈接作爲解決方法。我正在使用版本1.4.2。
jQuery(「selector」)
.removeAttr("onclick").removeAttr("onmouseout").removeAttr("onmouseover");
引http://api.jquery.com/prop/卸下使用.removeAttr()不會實現在Internet Explorer 8,9和11所希望的效果爲了避免潛在的問題的內聯onclick事件處理程序中,使用.prop()代替。
因此,這是可以做到
$(function() {
$('a').prop('onclick', false);
});
- 1. 我可以使用jQuery刪除內聯樣式嗎?
- 2. 在內聯JavaScript處理程序中使用jQuery事件
- 3. 我可以使用Editbox的OnChange事件來處理線程嗎?
- 4. 你可以在事件處理程序中使用wxMutex嗎?
- 5. 刪除事件處理程序
- 6. 未刪除React事件處理程序
- 7. 刪除的事件處理程序
- 8. C#刪除事件處理程序
- 9. FileSystemWatcher刪除事件處理程序
- 10. 刪除事件處理程序
- 11. 刪除事件處理程序
- 12. jQuery可以從我的事件處理程序中拋出一個錯誤嗎?
- 13. 關於(內聯)javascript事件處理程序執行jquery事件處理程序的順序
- 14. C# - SignalR我如何刪除我的事件處理程序
- 15. 如何從應用程序中刪除事件處理程序?
- 16. jQuery事件處理程序
- 17. 更改DIV文本內部刪除事件處理程序
- 18. 如何刪除jQuery事件處理程序?
- 19. 如何刪除Jquery中的所有Click事件處理程序
- 20. 在內聯事件處理程序中傳遞事件數據
- 21. 我可以使用處理器選擇我的程序嗎?
- 22. 刪除/殺死/刪除UserControl及其事件處理程序
- 23. Visual C# - 使用CellDoubleClick事件關聯事件處理程序
- 24. 我可以使用服務來處理觸摸事件嗎?
- 25. window.onpopstate - 我是否需要刪除此事件處理程序?
- 26. 刪除並添加滾動事件處理程序使用jQuery .off或.unbind
- 27. 如何從事件中刪除所有事件處理程序?
- 28. 防止事件通過刪除和恢復的事件處理程序處理
- 29. 從用戶控件中刪除單個事件處理程序
- 30. 如何處理按鈕的點擊事件使用添加處理程序,刪除處理程序
我知道,對於一個大型網站可能是笨拙,但它不會是(在下載代碼帶寬方面,更輕),更易於使用記事本/ Textmate/Gedit(或任何其他文本編輯器)查找「onclick」(或onClick)的所有實例並將其完全刪除? – 2010-10-02 15:07:39
@David - 我正在處理由Rails 2生成的內聯垃圾。一旦我上傳到Rails 3,我就不會遇到這個問題,因爲他們已經使所有的JavaScript不顯眼。 – Skilldrick 2010-10-02 15:15:38
......我不能否認Rails(但我從來沒有真正玩過它),但是爲了迴應它那代「內聯垃圾」,我只能說* ewwwwww * ... – 2010-10-02 15:17:09