很长一段时间以来,我认为可以将自定义方法添加到本机Event对象中。你怎么想?我还没找到办法。我很感激任何意见和建议。
祝你好运。
答案 0 :(得分:2)
扩展Javascript的本机对象通常被认为是不好的做法。但是,如果愿意,可以在对象原型中添加一个方法。
示例:
HTML:
<button id="foo">Foo</button>
JS:
var b = document.querySelector("#foo");
MouseEvent.prototype.foo = function () {
alert("FOO");
};
b.addEventListener('click', function (e) {
e.foo();
};
/* for < IE9, use this instead of addEventListener...
onclick = function (e) {
e.foo();
};
*/
您可以在此处找到事件列表:https://developer.mozilla.org/en/DOM/event
答案 1 :(得分:0)
您可以使用Event的原型添加自定义方法,如下所示:
Event.prototype.myFunc = function() {
alert('My custom function!');
};
然后像这样调用它:
document.getElementById('boo').onclick = function(event) {
event.myFunc();
};
这里的工作示例:http://jsfiddle.net/rEGRr/1/