首页 > 解决方案 > 试图让一些按钮做同样的事情

问题描述

我正在使用Animate创建动画。我正在让所有按钮完成他们应该做的事情。现在,我坚持以下几点。我想为多个按钮分配相同的操作,这是因为按钮出现在许多不同的框架上,所以这就是我得到的,但我得到了一个错误。

       var btns = ["btncasco","btncasco1","btncasco2"];

       btns.forEach( btnsIteratee.bind(this)); 

 function btnsIteratee(item){
    this[item].addEventListener("click", function(event){ 
        this.gotoAndStop(0);
    });
}

我希望能够单击任何引用的按钮名称并使它们转到第 0 帧。知道出了什么问题吗?

这是我得到的错误:

“未捕获的类型错误:无法读取未定义的属性‘addEventListener’”

标签: javascriptjquery-animatecreatejseaseljs

解决方案


谢谢你的帖子。我最终使用每个系列按钮的这段代码来解决这个问题。

var btntres = ['btnlumbrera2' , 'btnlumbrera3' ,'btnlumbrera4' ,'btnlumbrera5' ,'btnlumbrera6' ,'btnlumbrera7', 'btnlumbrera8', 'btnlumbrera9', 'btnlumbrera10', 'btnlumbrera11', 'btnlumbrera12', 'btnlumbrera13', 'btnlumbrera14', 'btnlumbrera15', 'btnlumbrera16', 'btnlumbrera17', 'btnlumbrera18']; 

btntres.forEach( btnsIteratee3.bind(this) ); 
function btnsIteratee3(item){


if (this[item] && !this[item].hasEventListener('click')) {
    this[item].addEventListener("click", hyandler.bind(this));
} else {

    console.log('item no existe', item);
}

function hyandler(event){ 
    this.gotoAndStop(4);
}
} 

推荐阅读