javascript代码优化

varhtml=document.documentElement;
varbody=document.body;
vardiv=body.querySelector('div');
varul=body.querySelector('ul');
varli=body.querySelector('li');
varpause=300;
//Capture
html.addEventListener('click',callback,true);
body.addEventListener('click',callback,true);
div.addEventListener('click',callback,true);
ul.addEventListener('click',callback,true);
li.addEventListener('click',callback,true);
//Bubble
html.addEventListener('click',callback,false);
body.addEventListener('click',callback,false);
div.addEventListener('click',callback,false);
ul.addEventListener('click',callback,false);
li.addEventListener('click',callback,false);
functioncallback(event){
varms=event.timeout=(event.timeout+pause)||0;
vartarget=event.currentTarget;
setTimeout(function(){
target.classList.toggle('highlight')
//target.classList.add('highlight');
setTimeout(function(){
target.classList.remove('highlight');
},pause);
},ms);
}
今天看到一个例子,感觉上面的例子上有很多代码重复的不知道如何优化,希望解答,我想通过
['html','body','div','ul','li'].forEach(function(value,index,arr){
console.log(typeofvalue)
value.addEventListener('click',callback,false)
})
开始我想以这种方式优化,想想类型不对,但没想到这种的怎么处理,希望看到的人并且会的人能够指导一下十分感谢
呼如林
浏览 369回答 2
2回答

互换的青春

你写的那种也是一种,还有一种比较笨的方法,获取页面所有元素,寻找nodetype为1的元素,循环绑定绑定事件。$.each($('*'),function(i,v){//伪代码if(v.nodeType===1){绑定事件...}})...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript