事件侦听器未添加到div元素

时间:2013-02-04 08:28:00

标签: javascript addeventlistener

我有以下JavaScript代码:

this._incrementButtonProperties = {  
        "enabled": this.properties.incrementButtonConfig.enabled,  
        "enabledClass" : "SchedMainCtrlIncrementBtn_En",  
        "disabledClass" : "SchedMainCtrlIncrementBtn_Ds",  
        "appData" : this.properties.incrementButtonConfig.appData,  
        "text" : this.properties.incrementButtonConfig.text,  

        "incrementSelectCallback" : this._incrementButtonSelectHandler.bind(this),  
};

        this._incrementBtn = document.createElement('div');  
        this._incrementBtn .className = this._incrementButtonProperties.enabledClass;  
        this.divElt.appendChild(this._incrementBtn);  

&安培;

this._incrementBtn.addEventListener('click', this._incrementButtonProperties.incrementSelectCallback, false);  

另外,

this._prototype._incrementButtonSelectHandler = function(ctrlRef, appData, params)  
{  

     // + & -  
     alert("_incrementButtonSelectHandler called... ");
}  

但事件监听器没有被添加:-(如果我写document.addEventListener('click',this._incrementButtonProperties.incrementSelectCallback,false); - 那么监听器正在添加,但我只需要它“this._incrementBtn” div元素。

任何想法都会出错?

注意:请不要建议jQuery等。我不想使用任何框架。

感谢
斯纳

1 个答案:

答案 0 :(得分:0)

它应该真的读过这个._prototype._incrementButtonSelectHandler = ...?

不应该是this.prototype?否则我不知道this._incrementButtonSelectHandler如何对应this._prototype._incrementButtonSelectHandler。

此外,你在this._incrementButtonProperties {...}中有一个尾随逗号,直到Ecmascript 5实际上无效,即使大多数浏览器都会接受它而没有任何抱怨。