产品让把网站中的所有a,都在新窗口打开,有什么快速的方法不一个一个写
target:_blank就能实现
产品的话也敢信,第二天就敢跟你说为什么点logo回首页也新窗口打开。
--update--
其实我是想说,虽然<base target="_blank"/>一步到位,但是,当产品再一张嘴的时候,想去掉一个就没那么简单了。
最好通过监听事件来解决 尽量不要循环 效率太低。
源生:
document.body.addEventListener(function(e) {
if (e.target.nodeName.toUpperCase() === 'A' && e.target.href) {
e.target.target = '_blank';
}
}, true);
jQuery:
$('body').on('click', 'a', function(e) {
e.target.target = '_blank';
});
使用
$(function(){
$('body a').each(function(){
$(this).attr('target','_blank');
});
});
或
$(function(){
var aLinkClickHandler=function(event){
if($(this).attr('isReady')!=='1'){
event.preventDefault();
$(this).attr('target','_blank');
$(this).attr('isReady','1');
$(this)[0].click();
}
}
$('body a').on('click',aLinkClickHandler);
});
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
<base target="_blank" />