我有以下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等。我不想使用任何框架。
感谢
斯纳
答案 0 :(得分:0)
它应该真的读过这个._prototype._incrementButtonSelectHandler = ...?
不应该是this.prototype?否则我不知道this._incrementButtonSelectHandler如何对应this._prototype._incrementButtonSelectHandler。
此外,你在this._incrementButtonProperties {...}中有一个尾随逗号,直到Ecmascript 5实际上无效,即使大多数浏览器都会接受它而没有任何抱怨。