我可能会做一些愚蠢的事情。但如果我有一个正常的链接,如:
<div id="changeMe"></div>
<a href="/Not/Intercepted" id="interceptMe">A link</a>
我将jQuery点击事件附加到链接上,如下所示:
$('#interceptMe').click(function() {
$('#changeMe').text('Changed');
return false;
});
一切都很有效。页面不被重定向到/ Not / Intercepted,这是我认为是正确的。
现在...
我在我的点击事件中引入了像$ .get这样的ajax调用,现在我的页面将被错误地重定向到页面,这基本上会覆盖ajax调用。
$('#interceptMe').click(function() {
$.get('/Ajax/Call', goesIn, function(comesOut) {
$('#changeMe').html(comesOut);
}, "html");
return false;
});
有没有办法让jQuery或javascript仍然拦截链接点击所以它不会转到href页面?我想保留那些没有启用javascript的用户的href。 TIA!
答案 0 :(得分:23)
而不是返回false,请使用....
$("#interceptMe").click(function(event){
event.preventDefault();
// Ajax here
return false; //for good measure
});
http://docs.jquery.com/Events/jQuery.Event#event.preventDefault.28.29
我在IE上遇到很多问题,特别是没有听到返回false。显然有其他人http://coffeeandpaste.blogspot.com/2009/02/javascript-onclick-return-false-does.html