给DOM元素添加事件

Posted shxlsunny

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给DOM元素添加事件相关的知识,希望对你有一定的参考价值。

  今天遇到一个问题:鼠标单击页面中的任意标签,弹出该标签的名称。

  实现代码如下:

<script type="text/javascript">
    document.onclick = function(e){
         var e = (e||event);
         var o = e["target"] || e["srcElement"];
         alert(o.tagName.toLowerCase());
    }
</script>

   即创建了一个页面的点击事件。

     随后写页面时,又用到了需要在页面加载时添加一个事件。当时多考虑了一下,想了想实现方法,包括JQuery的$.fuction()、$.ready()、window.onload、<body onload="xx()">,

对于window.onload,其实现思路同document.onclick相同,均是给DOM对象添加事件。

     回头想想,当年在疑惑document并没有onclick方法,window并没有onload方法/属性,为什么可以这么写。现在再看,这只是给dom元素添加了一个事件而已啊。

 又回想起js的定义:基于对象的,事件驱动的脚本编程语言。在js中,onclick是在文档对象或其子对象上的鼠标点击触发事件,是一通用事件。而事件模型又恰是Dom对象的子集,咱只不过是把Dom对象和onclick事件绑一块了。

回过头来再理解一下 对象的属性(document.height),方法(document.getElementById),事件(document.onclick),别绕进去出不来了。

     

以上是关于给DOM元素添加事件的主要内容,如果未能解决你的问题,请参考以下文章

无法将onclick事件添加到DOM元素

jQuery 判断元素上是不是绑定了事件

jQuery动态创建的元素为啥不能绑定事件

用jq创建出来的虚拟DOM应如何添加事件

DOM事件

用on给动态添加的元素绑定hover事件,没有生效的解决