jQuery-捕获并覆盖target=_blank的链接
jQuery - catch and override links with target=_blank
我们有一些遗留页面,其中包含target="_blank"
的链接。在点击这些时,我想忽略这一点,并运行一些用于打开窗口的JavaScript。
jQuery可能做到这一点吗?如果可以,我应该研究什么方法/术语?
提前感谢
只需使用事件委派来阻止target="_blank"的链接工作,例如:
$(document).on('click', 'a[target="_blank"]', function(event) {
event.preventDefault();
alert('Prevented');
});
$('a[target=_blank]').click(function(e){
e.preventDefault();
//do what you want here
});
演示:http://jsfiddle.net/kkhNr/1/
试试这个
$('a[target=_blank]').click(function(event) {
event.preventDefault();
// Now make a call to your own function
});
我只是想指出@Roger C的监听器是一个更好的解决方案。。。如果您的页面上有任何动态加载的内容(即AJAX或AngularJS单页应用程序)。
这个监听器监听文档的点击,并将拾取新添加的内容,而无需在内容更改后重新添加监听器:
$(document).on('click', 'a[target="_blank"]', function(event) {
event.preventDefault();
alert('Prevented');
});
此侦听器侦听调用时找到的所有选择器(可能缺少任何新添加的内容):
$('a[target=_blank]').click(function(e){
e.preventDefault();
alert('Prevented');
});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 如何使用jQuery自动打开页面上的所有链接
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- jquery动画可以通过编程链接吗
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 单击页面上的链接后高度发生变化
- 将纯文本URL转换为可单击链接
- python-selenium-点击上升链接
- 一点javascript元编程&可链接的设置器
- ng视图外的链接重定向到ng视图内的页面
- 如何调用“;链接_;在onclick事件上使用Javascript
- 链接所有<a>Meteor
- 如何在Angular中的表的所有单元格中添加链接
- 通过链接重定向不;我不在jstree中工作
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 将 target=“blank” 添加到带有 javascript 的链接中
- Lytebox显示"about:blank"而不是必需的链接