Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 必须等待执行jQuery,直到加载服务_Javascript_Jquery_Twitter Bootstrap_Jquery Ui_Jquery Events - Fatal编程技术网

Javascript 必须等待执行jQuery,直到加载服务

Javascript 必须等待执行jQuery,直到加载服务,javascript,jquery,twitter-bootstrap,jquery-ui,jquery-events,Javascript,Jquery,Twitter Bootstrap,Jquery Ui,Jquery Events,我正在尝试在新选项卡中打开超链接。对于加载新选项卡,我使用以下代码,该代码将运行一次,并在锚定标记中添加target=“\u blank”: <script> $(document).ready(function(){ alert("ready"); $("a", "#myCustomContent").each(function() { $(this).attr('target', '_blank');

我正在尝试在新选项卡中打开超链接。对于加载新选项卡,我使用以下代码,该代码将运行一次,并在锚定标记中添加target=“\u blank”:

<script>
    $(document).ready(function(){
        alert("ready");
        $("a", "#myCustomContent").each(function() {
            $(this).attr('target', '_blank');
        });
    }); 
</script>
在这里,它失败了,因为一些图像或文件无法加载,或者它将需要更多的时间


我需要找到一种方法来调用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

你所说的服务是什么意思ajax@Optimus,我将富文本编辑器的内容存储在内容管理系统中,然后使用cmis服务获取内容并显示在新页面中。这里我需要在一个新选项卡中打开超链接,

。“editorContent”将有文本感谢这段代码,第一段代码就是我想要的。谢谢你的帮助,代码运行良好。我正在使用Jermey提到的那段代码。其中,他正在为单击事件上的锚定标记设置属性。这是确定的。我很高兴你找到了答案。同时考虑到,有时浏览器可能会阻止弹出窗口。我正在使用上面的代码,如果“ahref”中已经有http://的话,它就可以正常工作。如果http://不存在,则它将在新选项卡中打开url,但它会将url附加到现有url中,例如://localhost:8443/newapp/static/html/www.google.com如果您的代码不存在,我如何将http://添加到超链接中假定当前页面url为“http://domen.en/path1”。如果标记具有
href=“/path2”
,则会打开带有url“”的新窗口。如果标记具有
href=“path3/path4”
,则会打开url为“”的新窗口。如果您在另一个域中添加了另一个url,则浏览器可能会阻止弹出窗口
$('body').on('click', 'a', function(){
    $(this).attr('target', '_blank');
});