我可能正在做一些愚蠢的事情。但是,如果我有一个像这样的普通链接:
<div id="changeMe"></div> <a href="/Not/Intercepted" id="interceptMe">A link</a>
然后将jQuery click事件附加到链接,如下所示:
$('#interceptMe').click(function() { $('#changeMe').text('Changed'); return false; });
一切正常。该页面并 没有 重定向到/不/拦截,这就是我认为是正确的。
现在…
我将$ .get之类的ajax调用引入了click事件,现在我的页面将被错误地重定向到该页面,这实际上覆盖了ajax调用。
$('#interceptMe').click(function() { $.get('/Ajax/Call', goesIn, function(comesOut) { $('#changeMe').html(comesOut); }, "html"); return false; });
有没有一种方法可以使jQuery或javascript仍然拦截链接单击,使其不会转到href页面?我想为那些未启用javascript的用户保留href。TIA!
代替返回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