我可能会做一些愚蠢的事情.但如果我有一个正常的链接,如:
<div id="changeMe"></div>
<a href="/Not/Intercepted" id="interceptMe">A link</a>
Run Code Online (Sandbox Code Playgroud)
我将jQuery点击事件附加到链接,如下所示:
$('#interceptMe').click(function() {
$('#changeMe').text('Changed');
return false;
});
Run Code Online (Sandbox Code Playgroud)
一切都很好用.该页面并没有重定向到/不/拦截,这就是我认为是正确的.
现在...
我在我的点击事件中引入了像$ .get这样的ajax调用,现在我的页面将被错误地重定向到页面,这基本上会覆盖ajax调用.
$('#interceptMe').click(function() {
$.get('/Ajax/Call', goesIn, function(comesOut) {
$('#changeMe').html(comesOut);
}, "html");
return false;
});
Run Code Online (Sandbox Code Playgroud)
有没有办法让jQuery或javascript仍然拦截链接点击,所以它不会转到href页面?我想保留那些没有启用javascript的用户的href.TIA!
Cha*_*ant 23
而不是返回false,使用....
$("#interceptMe").click(function(event){
event.preventDefault();
// Ajax here
return false; //for good measure
});
Run Code Online (Sandbox Code Playgroud)
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