[js] 辨析e.preventDefault()和e.returnValue=false

结论

https://css-tricks.com/return-false-and-prevent-default/
我认为这篇文章的结论完全是错误的。
我测试的结果得出的结论就是return false 在chrome下面根本不起作用。

event.returnValue 不要用这个api,因为它是Non-standard,虽然有些情况它和e.preventDefault()产生一样的作用。
至于return false,我倒是没有查到

测试代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>e.preventDefault()和e.returnValue=false</title>
</head>
<body>
<style>
div{
    border:1px solid black;
}
    .inner{
        width:50px;
        height:50px;
        margin:25px auto;
    }
    .outer{
        width:100px;
        height:100px;
    }
</style>
    <div class="outer" onclick="this.style.background='red'">
        <div class="inner" onclick="this.style.background='green';click_preventDefault(event)"></div>
    </div>
    <div class="outer" onclick="this.style.background='red'">
        <div class="inner" onclick="this.style.background='green';click_returnValue(event)"></div>
    </div>

    <script>
    var click_preventDefault = function(e){
        e.preventDefault();
    }
    var click_returnValue = function(e){
        // e.preventDefault();
        // e.returnValue=false;
        return false;
    }
    </script>
</body>
</html>

参考文档

  1. event.returnValue api
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容