我有一个模块化的应用程序并且使用了大量的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>
答案 0 :(得分:1)
你可以使用javascript原型覆盖
Container
如果要覆盖jQuery函数,可以在加载jQuery后使用此代码
Object.prototype.getPreventDefault = function (e) {
return e.defaultPrevented;
}
答案 1 :(得分:0)
defaultPrevented是Event
的属性,所以你必须像这样编写你的函数:
function getPreventDefault(e) {
return e.defaultPrevented;
}