访问Javascript原型函数
Accessing a Javascript prototype function
我有一个原型函数,比如event。
原型
Func("input_element_id").event("keyup",function(){
alert("Works on keyup in an Input!");
}
Func.prototype= {
keyup: function(func){
//adding event listener and callback using func
},
event: function(e,func) {
//what to do here to call function "keyup"
}
};
原型名称在变量e
中。但是,如何使用变量名来调用function
呢?
我这样做是为了传递"keyup-keydown"将添加keyup和keydown监听器,这比单独调用每个原型函数要好。
谢谢。
var Func = function(element){
this.element = element;
};
Func.prototype = {
keyup: function(handler){
this.element.onkeyup = handler;
},
event: function(e,handler){
switch(e){
case 'keyup':
return this.keyup(handler);
break;
}
}
}
http://jsfiddle.net/YDekw/
使用this
访问接收对象。
this.keyup(func);
假设一个不错的浏览器或ES5垫片,看起来你想这样做:
e.split(" ").forEach(function(f) {
this[f](func);
}, this);
请注意,它只是与点运算符一起使用的任何对象,也可以是任何对象。例如:
var f = new Func("input_element_id");
window.event = f.event;
window.event(); // this is window
best way
实现这一点的方法是:
events: function(events,func) {
this[events](func);
}
}
感谢CrazyTrain
,正如他在Comments
中提到的。
相关文章:
- 创建对象函数原型和代码是错误的
- 使用sinon.js创建一个“;“间谍对象”;使用基于真实构造函数/原型的间谍方法
- 使用构造函数 - 原型从文本框输出值
- 为什么函数对象的实例没有继承函数原型属性
- 获取函数原型的源代码
- 挂钩文档.使用函数原型创建元素
- 理解函数原型和__proto__
- 在Javascript的函数原型中创建函数
- Emberjs :哈希中的函数原型
- Javascript函数在父函数原型中带有原型
- 构造函数原型-继承混淆
- 本地作用域函数原型覆盖
- 使用函数原型的 JavaScript 继承问题
- 为什么我的代码认为 canvas 函数在 JavaScript 中的构造函数原型中是未定义的
- 所有内容也都链接到函数原型
- Javascript MDN 函数原型绑定 polyfill 在数组中是可枚举的
- Javascript将对象传递给函数原型
- 我应该使用构造函数/原型吗?
- 为什么函数原型不能修改 .
- 删除函数原型对象