【发布时间】:2012-05-13 21:10:13
【问题描述】:
我编写了这个绑定方法,但我的 preventDefault() 方法在 IE 中工作时遇到问题。回调线永远不会执行。有人可以提供帮助吗?谢谢!
var preventDefault = function (event) {
if (window.event) { window.event.returnValue = false; }
else if (event.preventDefault) { event.preventDefault(); }
else { event.returnValue = false; }
};
var bindEvent = function (ele, type, cb) {
if (window.addEventListener) {
ele.addEventListener(type, cb, false);
} else if (window.attachEvent) {
ele.attachEvent('on' + type, function () {
event.preventDefault = function () {
preventDefault(event);
}.call(this);
cb.call(ele, event); //this does not execute
});
}
};
【问题讨论】:
-
在不执行的那一行之前删除
.call(this)。它没有执行,因为前面抛出了一个语法错误..
标签: javascript bind preventdefault