Javascript 锚定标记单击不';不能在jquery中使用returntrue语句

Javascript 锚定标记单击不';不能在jquery中使用returntrue语句,javascript,jquery,html,Javascript,Jquery,Html,我有一个jqueryforanchor标记,它在其中第一次调用ajax,然后在返回成功时再次调用click。在第二次调用中,它返回true,但锚链接不工作 下面是我的代码 Html: 这对我不起作用,我还尝试使用preventDefault();但是没有用 注意:在第一次单击时,它调用ajax,成功后,它设置锚和类的url,然后再次调用单击, 但单击不会导航到其他页面。触发锚点的单击事件不会自动重定向到指定页面 您必须显式单击链接,才能导航到其他页面 你可以用 window.open('',''

我有一个jqueryforanchor标记,它在其中第一次调用ajax,然后在返回成功时再次调用click。在第二次调用中,它返回true,但锚链接不工作

下面是我的代码

Html:

这对我不起作用,我还尝试使用preventDefault();但是没有用

注意:在第一次单击时,它调用ajax,成功后,它设置锚和类的url,然后再次调用单击,

但单击不会导航到其他页面。

触发锚点的单击事件不会自动重定向到指定页面

您必须显式单击链接,才能导航到其他页面

你可以用

window.open('','','width=200,height=100') ; // instead`
你可以试试这种方法

if ($(this).hasClass('test')){
    $(this).removeClass('test');

    window.open('','','width=200,height=100')
}

您可以使用
window.open()
,但只要让
单击()
即可:

$('.test-link').click(function(){
    if ($(this).hasClass('test')){
        $(this).removeClass('test').off('click'); // unbind click handler
        this.click();                             // call native click()
    } else {
      $.ajax({
      ...
      ...
      success : function(data) {
          $('.test-link').attr('href',data.url).addClass('test').click(); 
      }
      });
      return false;
    }
 });
使用
this.click()
将直接调用DOM元素的
click()
方法,而不是jQuery
click()
方法-我在过去发现,这将导致链接实际工作的默认行为(即,它将导航到指定的url),而jQuery
click()方法
方法将执行您分配的处理程序,但不会实际导航

但是,您还需要解除单击处理程序的绑定,这样它就不会进入无休止的循环。这意味着从那时起,链接将始终在新选项卡中打开相同的URL,它将不会发出进一步的Ajax请求。可以接受吗


演示:

这将在新选项卡而不是弹出窗口中打开页面

  window.open(url,'_blank');
我想应该是,

if ($(this).hasClass('test')){
$(this).removeClass('test');

window.open($(this).text(),'_blank');
}

你就不能说
window.location=data.url?否我想在“新建”选项卡中打开页面,检查目标是否为“\u blank”。我已经尝试过了。window.open有一些限制。。许多浏览器阻止了我不想要的弹出窗口。我被困在这大概有一天了。网络上没有找到您的解决方案,非常感谢。
  window.open(url,'_blank');
if ($(this).hasClass('test')){
$(this).removeClass('test');

window.open($(this).text(),'_blank');
}