我非常了解jQuery。这个让我疯狂,因为它很简单。
我在<head>
:
<script>
$(document).ready(function() {
$(".delete_social").click(function() {
return false;
});
});
</script>
在身体中我有一系列链接:
<a class="delete_social" href="save_page.php?delete_social=true">Delete</a>
但是每次点击这些链接时,我都会选择PHP页面。为什么jQuery不拦截点击?任何理论?
PS我试过在click()函数中添加一个简单的alert()事件,没有任何变化,我尝试在jQuery $()调用中使用“a.delete_social”。两者都没有。
答案 0 :(得分:2)
尝试此操作以防止加载URL:
$(".delete_social").click(function(e) {
e.preventDefault();
return false;
});
此外,您应该获得alert
和其他代码以在单击处理程序内运行。如果不是,那么页面上的其他内容会导致一些奇怪的事情发生。
答案 1 :(得分:2)
如果动态加载这些链接,您需要使用$.live()
来控制它们:
$(".delete_social").live("click", function(e){
e.preventDefault();
// do stuff
});
$.live()
会使动态添加的元素遵循先前声明的规则。
答案 2 :(得分:1)
这是我在调试时要问的几个问题:
ready
功能。$(".delete_social").length
是否大于0
?$.fn.jquery
是否会返回您正在使用的当前版本的jquery?event.preventDefault();
。答案 3 :(得分:0)
试试这个:
<script>
$(document).ready(function() {
$(".delete_social").click(function(event) {
event.preventDefault();
});
});
</script>
答案 4 :(得分:0)
检查其余的javascript。 return false;
或.preventDefault();
应该可以解决问题。如果它们不起作用,通常意味着你的js中的其他地方出现了错误,你的浏览器永远不会到达那行代码。