<input id="btn" type="button" onclick="console.log('You clicked the button!');" value="Click" />
1
上面定义了一个按钮,在按钮中定义了onclick事件,就是在控制台输出一句话。效果如下图所示:
上面就是一个所谓的dom0级的事件处理。其实还有一个常用的,就是直接用js操作。下面是代码:
document.getElementById('btn').onclick = function() {
console.log('I am processed by dom0!');
};
下面是点击按钮后的效果:
注意: 对于上面的button,其实通过了两种方式去定义它的事件处理,一是在input标签里,二是在js中去处理。但是,在console上只输出了一句话。也就是说,在dom0级事件处理中,后定义的事件处理会覆盖前面的。
下面来一个dom2级的事件处理:
document.getElementById('btn').addEventListener('click', function() {
console.log('I am processed by dom2!');
});
document.getElementById('btn').addEventListener('click', function() {
console.log('I am processed by dom2 again!!');
});
下面是点击按钮后的效果:
这下就能看清楚了,在dom2级事件处理中,对一个按钮点击的事件处理就没有被覆盖掉。所以,dom0级和dom2级事件处理,在形式上和功能上都是有差异的。这就是dom0级和dom2级事件最简单也最常用的不同之处了。