我已经尝试过这些代码片段,第一个适用于IE和Chrome,第二个适用于Chrome,但它们都不适用于Firefox。我想要的是阻止页面通过链接转到其他页面
$('.album a').click(function(){
event.returnValue = false;
//other codes
})
$('.album a').click(function(){
event.preventDefault();
//other codes
})
编辑: Ian的这个片段为我工作
$('.album a').click(function(e){
e.preventDefault();
//other codes
});
答案 0 :(得分:4)
您需要提供Event
参数:
$('.album a').click(function(e){
e.preventDefault();
//other codes
});
您不需要处理returnValue
,因为jQuery通过调用preventDefault
来规范化方法以跨浏览器工作。
请注意文档中的处理程序如何将此eventObject
显示为传递给它的参数:http://api.jquery.com/click/
并注意Event
对象如何使用preventDefault
方法:http://api.jquery.com/category/events/event-object/
答案 1 :(得分:2)
您的回调签名未注册event
参数。因此,您的回调无权访问event
对象,并且无法阻止它。
$('.album a').click(function(event){
event.returnValue = false;
//other codes
});
$('.album a').click(function(event){
event.preventDefault();
//other codes
});
答案 2 :(得分:0)
尝试将代码更改为以下内容:
$('.album a').click(function(e){
e.preventDefault();
return false;
})