get PreventDefault() - 是否可以覆盖、替换或类似的东西?

getPreventDefault() - Is it possible to overwrite, replace or something like that?

我有一个非常模块化的应用程序并且使用了很多 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>

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

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

您应该可以使用 javascript 原型覆盖

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

如果您想覆盖 jQuery 函数,可以在加载 jQuery

后使用此代码
(function ($) {    
    $.fn.getPreventDefault = function(e) {
        return e.defaultPrevented;
    };
})(jQuery);