尝试使用Javascript原型删除多个代码重复
Trying to remove multiple code duplication using Javascript prototype
在此代码中:
MyClass.prototype = {
methodA: function() {
var obj = this;
$('#my-field').keyup(function(){
obj.methodB();
});
},
methodB: function() {
var obj = this;
$('.flag').click(function(){
obj.methodC($(this), $(this).attr('data-id-flag'));
obj.methodD();
});
},
...
}
是否有一种方法可以删除某些方法中存在的以下多个声明?
var obj = this;
我必须使用这个的原因在这个问题中解释了。
我想你的意思是如何将上下文传递给那些闭包。
您可以使用.bind(this)
或$.proxy(function(){}, this)
。
MyClass.prototype = {
methodA: function() {
$('#my-field').keyup($.proxy(function(){
this.methodB();
}, this));
},
methodB: function() {
$('.flag').click($.proxy(function(e){
var $el = $(e.currentTarget);
this.methodC($el, $el.attr('data-id-flag'));
this.methodD();
}, this));
},
}
绑定文档代理文档
相关文章:
- 如何从rails中的代码中删除新行( )
- 解析云代码作业:删除在数据库中已经存在一个小时的行
- Javascript/JQuery删除代码中的父TR问题
- 使用Google闭包编译器调试代码删除
- 改进js代码以删除全局变量和函数
- javascript代码,用于删除firefox中的空白,但在IE和chrome中无法正常工作
- 如何在 JavaScript 中使用正则表达式从颜色代码中删除“#”
- 使用 Javascript 动态删除行.我的代码有什么问题
- 通过找到一种删除许多 if 语句的方法来简化代码
- 从此代码中删除 Jquery
- 如何删除DOM事件处理程序的重复JavaScript代码
- 如何从此代码笔中删除数字和秒文本
- JavaScript-Regex删除代码/特殊字符/数字等
- 用于删除数组中的零的Javascript函数代码
- 删除alert()后,代码的行为会很奇怪
- 删除方法中的冗余代码
- Sharepoint 2010-停止不安全的代码删除
- 我确认后如何修改代码删除项目
- 谷歌闭包编译器-基于外部的死代码删除
- 通过云代码删除解析文件