自定义方法到本机事件对象。

时间:2011-12-12 08:31:56

标签: javascript

很长一段时间以来,我认为可以将自定义方法添加到本机Event对象中。你怎么想?我还没找到办法。我很感激任何意见和建议。

祝你好运。

2 个答案:

答案 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/