Javascript 锚定标记单击不';不能在jquery中使用returntrue语句
我有一个jqueryforanchor标记,它在其中第一次调用ajax,然后在返回成功时再次调用click。在第二次调用中,它返回true,但锚链接不工作 下面是我的代码 Html: 这对我不起作用,我还尝试使用preventDefault();但是没有用 注意:在第一次单击时,它调用ajax,成功后,它设置锚和类的url,然后再次调用单击,Javascript 锚定标记单击不';不能在jquery中使用returntrue语句,javascript,jquery,html,Javascript,Jquery,Html,我有一个jqueryforanchor标记,它在其中第一次调用ajax,然后在返回成功时再次调用click。在第二次调用中,它返回true,但锚链接不工作 下面是我的代码 Html: 这对我不起作用,我还尝试使用preventDefault();但是没有用 注意:在第一次单击时,它调用ajax,成功后,它设置锚和类的url,然后再次调用单击, 但单击不会导航到其他页面。触发锚点的单击事件不会自动重定向到指定页面 您必须显式单击链接,才能导航到其他页面 你可以用 window.open('',''
但单击不会导航到其他页面。触发锚点的单击事件不会自动重定向到指定页面 您必须显式单击链接,才能导航到其他页面 你可以用
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()
方法,而不是jQueryclick()
方法-我在过去发现,这将导致链接实际工作的默认行为(即,它将导航到指定的url),而jQueryclick()方法
方法将执行您分配的处理程序,但不会实际导航
但是,您还需要解除单击处理程序的绑定,这样它就不会进入无休止的循环。这意味着从那时起,链接将始终在新选项卡中打开相同的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');
}