<!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><button onclick="alert('Hello world!')">Hello</button></body></html>

注:在实例1中,事宜监听代码是放在 HTML 标签中,这种办法看起来比较直不雅观,但是这是一种不大提倡的事宜监听办法。
首先,将视图代码(HTML)与交互代码(Javascript)相结合,意味着每当须要更新功能时,都必须编辑 HTML,这将给代码后期的掩护带来很大麻烦。
其次,它不具备可扩展性。
如果我们要将这个单击功能附加到许多按钮上,那么不仅要用一堆重复的代码来增加页面量,而且还会毁坏可掩护性。

2.用JavaScript实现事宜监听

实例2:单击页面"Hello"按钮,弹出提示框显示Hello world!

<!doctype html><html><head><meta charset-"utf-8"><title>无标题文档</title><script type="text/javascript">  window.onload = function {    var helloBtn = document.getElementByld("helloBtn"); helloBtn.onclick = function() { alert("Hello world!"); } }</script></head><body><button id="helloBtn">Hello</button></body></html>3.用jQuery实现事宜监听

利用jQuery监听事宜有很多种方法,如实例3所示。

jquery添加监听html内容变化jQuery常见事宜的监听方法 Python

实例3:单击页面 "Hello" 按钮,弹出提示框显示 Hello world!

<!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title><script src="jquery-3.3.1.js"></script><script type="text/javascript">  $(function() {//jQuery第一种监听事宜方法    $("#helloBtn").click(function() {      alert("Hello world!");    });//jQuery第二种监听事宜方法    $("#helloBtn").bind("click",function() {      alert("Hello world!");    });//jQuery第三种监听事宜方法    $("#helloBtn").on("click",function() {      alert("Hello world!");    });//jQuery第四种监听事宜方法    $("body").on({      click: function() {        alert("Hello world!");      }    }, "button");//jQuery第五种监听事宜方法    $("pody").on("click", "button", function() {      alert("Hello world!");    });  });</script></head><body><button id="helloBtn">Hello</button></body></html>

注:下面详细剖析实例3中用到的 jQuery 事宜监听方法。
(1)第一种事宜监听方法click(),是一种比较常见的、便捷的事宜监听方法。
(2)第二种事宜监听方法bind(),已被jQuery 3.0弃用。
自jQuery 1.7以来被 on() 方法(即第三种事宜监听方法)所取代,虽然在这里也能利用且不报错,而且此方法之前比较常见,但是不鼓励利用它。
(3)第三种事宜监听方法on(),从jQuery 1.7开始,所有的事宜绑定方法末了都是调用on() 方法来实现的,利用on() 方法实现事宜监听会更快、更具同等性。
(4)第四种和第五种方法,监听的是 body 上所有 button 元素的 click 事宜。
DOM 树里更高层的一个元素监听发生在它的 children 元素上的事宜,这个过程叫作事宜委托(event delegation)。
感兴趣的读者可以查看官方帮助文档。