我的链接如下。
<a href="#" id="tab3Link">Tab 3</a>
在标签2上,单击标签3 时,我想首先验证标签2中的表单是否已正确填写。
$("#tab3Link").click(function(e){
e.preventDefault();
$("#tab3Link").prop("href", "#");
if(validateTab2()){
$("#tab3Link").prop("href", "#tab3Info");
return true;
}else{
return false;
}
});
#tab3Info
锚点应该将页面转换为新的div。但点击不会发生。但是,如果我手动将#tab3Info
附加到URL的末尾并按Enter键,则页面将移至新选项卡。所以在上面的函数中,虽然改变了href,但是不会发生click函数。
当JQuery 1.4.2与Jquery mobile 1.1.0一起使用时,这工作正常。当JQuery升级到1.9.1并且Jquery移动到1.3.2时出现问题。
答案 0 :(得分:2)
jQuery prop()
方法的使用不适用,因为它在元素中设置属性(在您的情况下为#tab3Link)。但是你想要操纵位置值。
而不是:
$("#tab3Link").prop("href", "#tab3Info");
您可以使用:
window.location.hash = 'tab3Info';
或:
window.location += '#tab3Info';
答案 1 :(得分:1)
而不是返回true,请尝试:
$(this).unbind('click');
$(this).click();