我有一个使用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;
}
答案 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.createElement
,appendChild
,addEventListener
)都是本机函数,因此它们可以正常工作。
答案 1 :(得分:-2)
如果可能的话尝试使用Jquery,你可以更简单地使用$('.class').click(function(){})