在JavaScript中添加事件监听器

时间:2013-01-23 12:54:46

标签: javascript

我有一个使用CSS3类定义的JavaScript和div。我需要将事件监听器添加到特定的类div,但它没有绑定到它。

例如:

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

if (this.properties.incrementButtonConfig.enabled == null) {
    this.properties.incrementButtonConfig.enabled = false;
}

this.setIncrementEnabled(this.properties.incrementButtonConfig.enabled);

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

和CSS:

.SchedMainCtrlIncrementBtn_En {
    position: absolute;
    top: 3px;
    left: 240px;
    display: inline-block;
    font-size: 28px;
    vertical-align: middle; 
    width: 35px;
    height: 65px;
    height: 35px;
    background: url("../../../images/icons/IcnListAddRecipient_En.png") no-repeat center;
}

2 个答案:

答案 0 :(得分:0)

类似的东西:

var divs = document.querySelectorAll( 'div.yourclass' );
for( var i=0; i < divs.length; i++ ){
    divs[ i ].addEventListener( 'eventname', callback, false );
}

编辑:

通过使用这个非常长的变量名读取代码,我得出结论:你想做这样的事情:

this.element = document.createElement( 'div' );
this.element.className = 'someName';
this.parentElement.appendChild( this.element );
this.element.addEventListener( 'click', callback, false );

因此,如果未定义this.parentElement,或者未定义callback,则无效。我不知道您是如何对该类进行编码的,但所有使用的函数(document.createElementappendChildaddEventListener)都是本机函数,因此它们可以正常工作。

答案 1 :(得分:-2)

如果可能的话尝试使用Jquery,你可以更简单地使用$('.class').click(function(){})