我有一些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. 我可以使用C#處理程序處理HTML5事件嗎?
- 2. 我可以使用jQuery刪除內聯樣式嗎?
- 3. .NET刪除內聯事件處理程序
- 4. 我可以刪除wordpress內聯css嗎?
- 5. 在事件處理程序中刪除jquery事件處理程序
- 6. 在內聯JavaScript處理程序中使用jQuery事件
- 7. 我應該刪除一個事件處理程序嗎?
- 8. 使用jquery刪除一個事件處理程序「.off」
- 9. 我可以從javascript調用LoginStatus.LoggingOut事件處理程序嗎?
- 10. 處理JQuery刪除事件
- 11. 事件處理程序委託可以自行刪除
- 12. 我可以使用Editbox的OnChange事件來處理線程嗎?
- 13. 你可以在事件處理程序中使用wxMutex嗎?
- 14. Jquery Mobile:我可以在pagebeforehide處理程序中使用stopPropagation嗎?
- 15. FileSystemWatcher刪除事件處理程序
- 16. 刪除事件處理程序
- 17. 刪除的事件處理程序
- 18. C#刪除事件處理程序
- 19. 刪除事件處理程序
- 20. 刪除匿名事件處理程序
- 21. 刪除事件處理程序
- 22. 未刪除React事件處理程序
- 23. 我可以以編程方式調用事件處理程序嗎?
- 24. 我可以使用哪個其他事件處理程序?
- 25. jQuery可以從我的事件處理程序中拋出一個錯誤嗎?
- 26. 關於(內聯)javascript事件處理程序執行jquery事件處理程序的順序
- 27. Form_Closed是刪除事件處理程序的正確位置嗎?
- 28. C# - SignalR我如何刪除我的事件處理程序
- 29. ASP.NET應用程序可以處理NServiceBus事件嗎?
- 30. 在HTML中使用內聯事件處理程序是不好的做法嗎?
我知道,對於一個大型網站可能是笨拙,但它不會是(在下載代碼帶寬方面,更輕),更易於使用記事本/ 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