因此,在这里我正在尝试使用本机javascript。我试图实现但未能做到的是为要向div类添加事件侦听器的场景创建某种快捷方式。
在这里,我想说的是:如果用户单击了某个班级,则显示警报。
为什么我的代码不起作用?
function click(red){
var source = document.getElementsByClassName(red);
for (i = 0; i < source.length; i++) {
source[i].addEventListener('click', err, false);
}
function err() {
var x = 0;
}
}
if (click('red')) {
alert('rrr');
}
我会使用document.querySelectorAll
而不是document.getElementsByClassName
因为它更加通用。
但主要问题是您的click函数实际上未返回任何内容,因此您if(click('red'))
将永远无法执行。同样,您添加的事件侦听器的回调实际上并没有做任何事情。因此,我做了一个回调参数,然后将其传递给addEventListener
。
function click(selector, callback){
var source = document.querySelectorAll(selector);
for (var i = source.length-1; i >= 0; --i) {
source[i].addEventListener('click', callback, false);
}
}
click('.red', function() {
alert('rrr');
});
<div class='red'>xxx</div>
<div class='red'>xxx</div>
<div class='red'>xxx</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句