美文网首页
js 中的事件

js 中的事件

作者: 施主画个猿 | 来源:发表于2018-02-08 11:33 被阅读0次

    事件就是用户或浏览器自身执行的某种动作。诸如click、load和mouseover,都是事件的名字。而响应某个事件的函数就叫做事件处理程序(或事件侦听器)。事件处理程序的名字以"on"开头,因此click事件的事件处理程序就是onclick,load事件的事件处理程序就是onload。为事件指定处理程序的方式有好几种。

    HTML事件处理程序

    某个元素支持的每种事件,都可以使用一个与相应事件处理程序同名的HTML特性来指定,这个特性的值应该是能够执行的JavaScript代码。例如,要在按钮被单击时执行一些JavaScript,可以像下面这样编写代码:

     // onclick="alert('Clicked')"  
    <input type="button" value="Click Me" onclick="alert('Clicked')" />
    

    在HTML中定义的事件处理程序可以包含要执行的具体动作,也可以调用在页面其他地方定义的脚本,如下面的例子所示:

    <script type="text/javascript">
        function showMessage(){ 
           alert("Hello world!");
        }
    </script>
    <input type="button" value="Click Me" onclick="showMessage()" />
    

    不足
    1.存在一个时差问题。因为用户可能会在HTML元素一出现在页面上就触发相应的事件,但当时的事件处理程序有可能尚不具备执行条件。
    2.事件处理程序的作用域链在不同浏览器中会导致不同结果。不同JavaScript引擎遵循的标识符解析规则略有差异,很可能会在访问非限定对象成员时出错
    3.HTML与JavaScript代码紧密耦合。如果要更换事件处理程序,就要改动两个地方:HTML代码和JavaScript代码。

    JavaScript指定事件处理程序

    要使用JavaScript指定事件处理程序,首先必须取得一个要操作的对象的引用。每个元素(包括window和document)都有自己的事件处理程序属性,这些属性通常全部小写,例如onclick。将这种属性的值设置为一个函数,就可以指定事件处理程序,如下所示:

    var btn = document.getElementById("myBtn");
    btn.onclick = function(){
        alert("Clicked");
    };
    

    相关文章

      网友评论

          本文标题:js 中的事件

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