1

我有一个使用 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;
}
4

2 回答 2

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.createElement, appendChild, addEventListener)都是本机函数,所以它们可以工作。

于 2013-01-23T13:03:10.103 回答
-2

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

于 2013-01-23T13:08:05.387 回答