javascript - 通过单击设置 location.href 不起作用
问问题
412 次
2 回答
2
在 window.location 之后更改 reutrn true 以返回 false;
$('.act-a').click(function(){
if(parseInt($('.value').val())>0){
//window.location.href = window.location.origin + $(this).attr('url') + '?r=' + parseInt($('.value').val());
window.location.replace("www.google.com");
return false;
}
return false;
});
在点击、提交等事件上返回 false 会阻止此类事件的默认行为。仅当您想运行一个函数然后让事件传播到其他常规侦听器时才使用 return true,例如跟随链接的 href、继续正常的表单提交等...这篇文章有助于事件冒泡基础知识:http:// www.quirksmode.org/js/events_order.html
于 2012-09-04T16:40:45.483 回答
2
return true;
告诉浏览器执行链接的默认操作。因此,浏览器正在跟踪链接而不是运行window.location
.
删除两个 return 语句,而是添加e.preventDefault();
$('.act-a').click(function(e){
e.preventDefault();
if(parseInt($('.value').val(), 10) > 0){
window.location.href = window.location.origin + $(this).attr('url') + '?r=' + parseInt($('.value').val(), 10);
}
});
PS您应该添加,10
以parseInt
确保该数字被解析为以10为底。
于 2012-09-04T16:42:11.907 回答