我正在尝试在新标签中打开超链接。要在新标签中加载,我使用以下代码。将运行一次并添加target =" _blank"在锚标签中。
<script>
$(document).ready(function(){
alert("ready");
$("a", "#myCustomContent").each(function() {
$(this).attr('target', '_blank');
});
});
</script>
但是在从服务调用中检索内容之前执行了jquery,并且我无法在新选项卡中打开超链接。所以我尝试使用下面的代码。
$(window).bind("load", function() {
$("a", "#myCustomContent").each(function() {
$(this).attr('target', '_blank');
});
});
此处失败,因为某些图像或文件无法加载。或者需要更多时间。
我需要找到一种方法来调用jquery打开&#34; ahref&#34;标签在新标签中。 提前谢谢
答案 0 :(得分:2)
试试这个。也许这会解决问题
$(document).click(function(e){
if($(e.target).parents('#myCustomContent').size() && e.target.tagName=="A"){
e.preventDefault();
window.open(e.target.href);
}
})
答案 1 :(得分:0)
如果没有看到更多的代码,我很难完全解读最佳步骤,但听起来你的代码运行后你的链接会加载图像。您总是可以尝试在加载时更新点击处理程序的内容:
$('body').on('click', 'a', function(){
$(this).attr('target', '_blank');
});
或者您可以查看一个函数,该函数检查您的图像是否已加载并设置超时,直到它们全部设置完毕。
var changeTarget = function() {
if ($('body').find('#img')) {
//do code it's loaded
} else {
//repeat in 100 miliseconds
setTimeout(changeText,100);
}
}
changeTarget();
答案 2 :(得分:0)
以下代码可以在新标签页中打开超链接。
如果只需要在新窗口中打开页面中的某些锚标签(超链接),则可以使用以下代码
$(document).click(function(e){
if($(e.target).parents('#myCustomContent').size() && e.target.tagName=="A"){
e.preventDefault();
window.open(e.target.href);
}
});
其中“myCustomContent”是赋予分区的id或存在超链接的
标记。
或
如果必须在新标签页中打开页面中的所有锚标签,则可以使用以下代码。
$('body').on('click', 'a', function(){
$(this).attr('target', '_blank');
});
感谢您的帮助,@ JeremyS和@doniyor