每当用户单击不在新窗口中打开并且具有的任何
属性非空且不以a
时,我想调用我的自定义函数(或简单地执行某些逻辑) href#
开头且没有javascript:
。
基本上我需要所有这些链接,如果单击这些链接将导致当前页面被卸载。但所有其他链接,例如 #point1
或 javascript:alert('');
等均应排除(因为如果单击,用户仍将保留在页面上)。正确的 jQuery 是什么?
理想情况下应该与旧版 jQuery - 版本 1.7.2 兼容
最佳答案
试试这个:
$(document).on('click', 'a[href][href!=""]:not([href^="#"],[href^="javascript:"],[target="_blank"])', function() {
// do something
})
但是,您必须考虑到它不是一个易于维护的可读代码。传递过滤函数(如 @Rory McCrossan 答案)可以更具可读性。
参见Fiddle
P.S 您是否考虑过使用 beforeunload事件代替?
关于javascript - jQuery:将 onClick 绑定(bind)到指向其他页面的所有 anchor ,其中 target=_self,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33420359/