2

我已经尝试过这些代码片段,第一个适用于 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
});
4

3 回答 3

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/

于 2013-07-18T01:01:28.877 回答
2

您的回调签名没有注册event参数。因此,您的回调无法访问该event对象,也无法阻止它。

$('.album a').click(function(event){
    event.returnValue = false;
    //other codes
});

$('.album a').click(function(event){
    event.preventDefault();
    //other codes
});
于 2013-07-18T01:01:17.913 回答
0

尝试将您的代码更改为以下内容:

$('.album a').click(function(e){
    e.preventDefault();
    return false;
})
于 2013-07-18T01:02:43.777 回答