美文网首页让前端飞
DOM Event: 如何处理事件

DOM Event: 如何处理事件

作者: butterandfly | 来源:发表于2016-10-21 19:04 被阅读0次

本文很大程度上参考、整理自《DOM Enlightenment》及网络

当下的HTML有三种方式监听/handle事件:

  • Inline Event Handlers
  • Event Handlers
  • addEventListener()

Inline Event Handlers

直接通过html来对一个元素添加事件handler:

<button onclick="console.log('Button clicked...')"></button>

这种方式不但有下面”Event Handlers“的所有缺陷,而且本身是在全局作用域里执行”console.log('Button clicked')“。你应该尽量避免使用这种模式。

Event Handlers

在js里设置元素的事件的handler:

document.querySelector('button').onclick = function() {
  console.log('Button clicked...');
}

这种方式最大的问题是,对同一个元素及事件我不能设置两个handler:

document.querySelector('button').onclick = function() {
  console.log('这段内容不会被log');
}

document.querySelector('button').onclick = function() {
  console.log('Button clicked...');
}

同样你应该尽量避免使用Event Handlers,而是使用下面的addEventListener

addEventListener

这是DOM Level 2 Event的内容,能够监听一个元素的事件并执行回调:

document.querySelector('button').addEventListener('click', function() {
  console.log('Button clicked...');
});

这是当下推荐的监听元素事件的模式。

相关文章

  • DOM事件对象与IE事件对象

    DOM 事件处理对象 IE事件对象 注意: DOM中事件处理对象中的 event.currentTarget 与 ...

  • Vue事件处理

    Vue 事件处理 内联事件处理 通过方法处理 访问原始 DOM 事件方法不含有参数可以直接访问 event 对象 ...

  • dom事件对象以及兼容写法

    DOM中的事件对象兼容DOM的浏览器会将一个event对象传入到事件处理程序中,无论指定事件处理程序时使用什么方法...

  • DOM Event: 如何处理事件

    本文很大程度上参考、整理自《DOM Enlightenment》及网络 当下的HTML有三种方式监听/handle...

  • 什么是DOM的事件委托

    DOM的事件委托(Event delegation)是通过事件 ”冒泡“ (event propagation) ...

  • JavaScript-高级篇之事件

    什么是事件 掌握事件流 掌握DOM事件流与IE事件处理程序 掌握跨浏览器的事件处理程序 掌握event对象的常用属...

  • 4. Vue 事件修饰符

    Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault...

  • vue的事件修饰符

    Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault...

  • DOM事件(二)

    一、 事件对象 1.1 DOM中的事件对象 在触发DOM上的某个事件时,会产生一个事件对象event: event...

  • Vue.js 事件修饰符

    事件修饰符 Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventD...

网友评论

    本文标题:DOM Event: 如何处理事件

    本文链接:https://www.haomeiwen.com/subject/huscuttx.html