必须等待执行 jQuery,直到加载服务
Have to wait to execute jQuery till the service is loaded
我正在尝试在新选项卡中打开超链接。为了加载新选项卡,我使用以下代码,它将运行一次并在锚标签中添加 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 以在新选项卡中打开"ahref"标签。
试试这个。也许这会解决问题
$(document).click(function(e){
if($(e.target).parents('#myCustomContent').size() && e.target.tagName=="A"){
e.preventDefault();
window.open(e.target.href);
}
})
如果没有看到更多的代码,我很难确切地破译最好的步骤是什么,但听起来你在代码运行后加载了带有链接的图像。您可以随时尝试在加载时更新单击处理程序的操作:
$('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();
下面的代码适用于在新选项卡中打开超链接。
如果只需要在新窗口中打开页面中的某些锚标签(超链接),则可以使用以下代码
$(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
相关文章:
- Sails.js:我可以将一些服务/模型打包为npm并在Sails.jss应用程序中加载npm吗
- 如何使用 javascript 从 Web 服务重新加载项目集合
- 谷歌应用程序脚本html服务和加载谷歌地图javascript api V3
- 如何使应用程序加载独立于web服务调用
- 服务工作者第一次不加载
- 必须等待执行 jQuery,直到加载服务
- Angular $http 服务不加载 json 文件
- 如何优化服务和加载JavaScript文件
- AJAX加载JSON数据并将其存储在angularjs服务中
- 如何在从缓存加载路由后强制服务工作者从网络请求路由
- JQuery不加载通过服务获得的效果
- AngularJS每次打开页面时加载服务
- 在第一页加载时加载服务
- 将 Javascript .js(调用 Web 服务)异步加载到页面中
- Angularjs:在服务中加载数据,然后将其加载到控制器
- AngularJS服务,从$html.get返回预加载的数据或数据
- 如何在服务应用程序后在视图中加载 js.js
- j查询更改下拉列表调用 Web 服务以加载选项
- AngularJS:在服务/控制器中加载插件对象
- d3.js日小时热图加载服务器重启,但消失时,页面刷新