var even={
addandler:function(element,type,handler){
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if(element.attachEvent){
element.attachEvent(type,"on"+handler,false);
}else{
element["on"+type]=handler;
}
}
}把其中的false改成true,点击的结果是,先是触发了最外层的onclik事件,然后再触发this的onclik事件。相反了。请问这是为什么?
http://www.imooc.com/video/2139
当false时,为事件冒泡流,
即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点) 接受,然后逐级向上传播至最不具体的那个节点(文档)。
当为true时,为事件捕获流
不太具体的节点应该更早接收到事件,而最具体的节点最后接收到事件。
请看1-1事件冒泡和1-2事件捕获,建议你边学边做笔记,好记性不如烂笔头
可以用string的方法split()来删除中间的空格
不好意思,第二行是回答其他问题的,
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
var bt=document.createElement("input");
bt.type="button";
bt.value="按钮";
bt.id="btn";
document.body.appendChild(bt);
bt.style.width="160px";
bt.style.height="60px";
//请把点击事件加载window.onload里面
var a=document.getElementById("btn");
a.addEventListener("click",asd,false);
}
function asd(){
alert(this.value);
}
</script>
</head>
<body>
</body>
</html>解决问题请采纳,谢谢
一个是按事件冒泡的顺序,一个是按事件捕获的顺序