getPreventDefault() - 是否可以覆盖,替换或类似的东西?

时间:2017-04-10 13:36:15

标签: javascript jquery firefox deprecated preventdefault

我有一个模块化的应用程序并且使用了大量的getPreventDefault(),这需要花费几天的时间将其更改为所有文件中的defaultPrevented。

我在Windows 7中,因此某种递归脚本对于该项目来说太不安全了。

我试图让getPreventDefault()使用defaultPrevented,如:

function getPreventDefault(e) {
        return defaultPrevented(e);
}

我尝试了很多其他方式,但没有...

有可能吗?我的想法是在没有警告的情况下继续使用getPreventDefault(),直到我完成修复某些问题,然后再更改它。

测试删除警告的简单代码......

<!DOCTYPE html>
<html>
        <head>
                <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

                <script>
                        function OnBodyClick (event) {
                                if (event.getPreventDefault) {  // Firefox, Opera, Google Chrome and Safari
                                        if (event.getPreventDefault ()) {
                                                console.log ("The default action is canceled.");
                                        } else {
                                                console.log ("The default action is not canceled.");
                                        }
                                }
                        }
                </script>
        </head>
        <body onclick="OnBodyClick(event)">
        </body>
</html>

2 个答案:

答案 0 :(得分:1)

你可以使用javascript原型覆盖

Container

如果要覆盖jQuery函数,可以在加载jQuery后使用此代码

Object.prototype.getPreventDefault = function (e) {       
    return e.defaultPrevented;
}

答案 1 :(得分:0)

defaultPreventedEvent属性,所以你必须像这样编写你的函数:

function getPreventDefault(e) {
    return e.defaultPrevented;
}