preventDefault停止工作

时间:2017-05-29 04:53:19

标签: javascript jquery

我有这个jquery:

jQuery('#overlayBtn').click(function(e){
    e.preventDefault();
    jQuery('#overlay').css('display','flex');
});

如果我删除了preventDefault()它工作正常,但页面跳到顶部,因为我有一个#作为href。我想停止默认的点击行为,但要进行叠加显示。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

只需在功能return false;

的末尾添加
jQuery('#overlayBtn').click(function(e) {
    jQuery('#overlay').css('display','flex');
    return false;
});

答案 1 :(得分:1)

正如另一位用户之前所说的那样,return false;可能是本案的解决方案,但认为这不是一个好习惯。

请参阅以下链接,了解您为何不使用该行代码:https://web.archive.org/web/20160603125641/http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/

此外,您可以使用属性href="javascript:void(0)"来获得相同的结果。