在addeventlistener中使用此关键字调用javascript类的方法

时间:2011-03-09 07:45:49

标签: javascript events

我想通过addEventListener调用函数getItemList(),它在类'Example'中

var text_box = document.getElementById(this.text_box_id);
text_box.addEventListener('onchange', function(){this.getItemList('3', '10')}, false) 

1 个答案:

答案 0 :(得分:1)

应该是change,而不是onchange。仅在IE中,您必须使用on(EventName)

处理程序内的

this将引用text_box(事件被引发的元素)。您必须捕获对当前this

的引用
var that = this;
text_box.addEventListener('change', function(){    
    that.getItemList('3', '10')
}, false);

或者在支持bind的浏览器中(您也可以提供自己的实现,如本文档所示):

text_box.addEventListener('change', function(){    
    this.getItemList('3', '10')
}.bind(this), false);