attachEvent和addEventListener方法的使用
一般情况下直接在元素上添加事件的写法如下:
<img id=”zh_img” src=”xxx/xx.gif” onClick=”return method1 ( );” />
而在js脚本中也可以动态为这个元素添加事件:
attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列)
addEventListener方法 用于 Mozilla系列
举例:
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;
如果这样写,那么将会只有medhot3被执行
写成这样:
var btn1Obj = document.getElementById("btn1");
//object.attachEvent(event,function);
btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);
执行顺序为method3->method2->method1
如果是Mozilla系列,并不支持该方法,需要用到addEventListener
var btn1Obj = document.getElementById("btn1");
//element.addEventListener(type,listener,useCapture);
btn1Obj.addEventListener("click",method1,false);
btn1Obj.addEventListener("click",method2,false);
btn1Obj.addEventListener("click",method3,false);
执行顺序为method1->method2->method3
使用实例:
1.
var el = EDITFORM_DOCUMENT.body;
//先取得对象,EDITFORM_DOCUMENT实为一个iframe
if (el.addEventListener){
el.addEventListener('click', KindDisableMenu, false);
} else if (el.attachEvent){
//适用用IE浏览器
el.attachEvent('onclick', KindDisableMenu);
}
2.
if (window.addEventListener) {
window.addEventListener('load', _uCO, false);
} else if (window.attachEvent) {
//适用用IE浏览器
window.attachEvent('onload', _uCO);
}
绑定到带参数的方法,比如说直接在元素上添加事件的写法如下:
<img id=”zh_img” src=”xxx/xx.gif” onClick=”return opentree(id,level);” />
使用绑定的方法,先要封装opentree(id,level)这个函数
var newopen = function(id,level)
{
return function()
{
opentree(id,level); //该函数为外部定义的一个带参数的执行函数
}
}
绑定时把带数也写入,写法如下:
Var x=document.getElementById(“zh_img”); // zh_img为元素的id
x.attachEvent("onclick",newopen(id,parseInt(level)+1));
注:调用的是newopen,而不是直接调用opentree
分享到:
相关推荐
javascript动态生成页面元素
下面小编就为大家分享一篇javaScript动态添加Li元素的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
JavaScript给事件委托批量添加事件监听详细流程 1.什么是事件委托 事件委托:利用事件冒泡的特性,将本应该注册在子元素上的处理事件注册在父元素上,这样点击子元素时发现其本身没有相应事件就到父元素上寻找...
我们可以通过设定按钮的onclick属性来给按钮绑定onclick事件 <!DOCTYPE html> <html> <head> [removed] function displayDate() { document.getElementById(demo)[removed]=Date(); } [removed] <...
javaScript给元素添加多个class的简单实现.docx
本文实例讲述了JS实现为动态创建的元素添加事件操作。分享给大家供大家参考,具体如下: html中直接生成的元素,添加事件,我们都知道,但是如何为一个动态生成的元素添加事件呢,jquery中的live方法可以做到这一点 ...
javascript动态添加事件.pdf
本文实例讲述了JavaScript实现动态添加、移除元素或属性的方法。分享给大家供大家参考,具体如下: JavaScript 动态添加、移除元素 appendChild(newnode) 向节点的子节点列表的末尾添加新的子节点。 insertBefore...
先给大家讲下什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。 也就是:...
本篇文章就给大家分享关于JavaScript中onclick事件的用法。 我们首先来看一下onclick事件的语法 以下是如何使用onclick事件编写。 使用document.getElementById()在文档中指定id元素,并使用function(){}处理单击...
javascript下给元素添加事件的方法与代码
我们交换数组可以实现元素上下移动了,这个效果我们在表格或以前排序算法中都会用到,下面来看一个JavaScript下实现交换数组元素上下移动例子 在写项目的时候,要实现一个数组记录上下移动的示例。写起来也没有没...
如资源名,使用JAVASCRIPT动态创建一个Select元素和text元素
本文实例讲述了JavaScript动态修改网页元素内容的方法。分享给大家供大家参考。具体分析如下: 下面的JS代码当用户点击提交按钮后,通过元素的textContent或者innerHTML动态指定元素的内容 [removed] function ...
this指触发事件的对象,接下来为大家分享下javascript中onclick(this)的用法,感兴趣的朋友可以参考下哈,希望对你有所帮助
主要介绍了解决idea开发遇到javascript动态添加html元素时中文乱码的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
给大家介绍了javascript实现的动态添加表单元素input,button等(appendChild)的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
javascript动态添加事件[文].pdf
javaScript给元素添加多个class的简洁实现_.docx