我有一个非常模块化的应用程序,并且使用了很多 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>
最佳答案
你应该可以使用 javascript 原型(prototype)覆盖
Object.prototype.getPreventDefault = function (e) {
return e.defaultPrevented;
}
如果您想覆盖 jQuery 函数,可以在加载 jQuery 后使用此代码
(function ($) {
$.fn.getPreventDefault = function(e) {
return e.defaultPrevented;
};
})(jQuery);
关于javascript - get PreventDefault() - 是否可以覆盖、替换或类似的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43324715/