用于HTML内代码层和UI层分离。
比如,你要给一个按钮增加一个单击事件,你会怎么做?
<input type="button" id="theBtn" value="点击" onclick="alert('点击了一下');" />
明显的,它破坏了标签,如果下次要修改这个按钮不小心就会丢失。
attachEvent是为了将事件分离,如:
<input type="button" id="theBtn" value="点击" />
var theBtn = document.getElementById("theBtn"); //取得ID为theBtn的按钮
theBtn.attachEvent("onclick", buttonClicked); //给按钮增加事件
function buttonClicked(e){ alert("点击了一下"); } //定义函数
attachEvent用法:
attachEvent(事件类型, 处理函数);
P.S.:在Firefox中,对应的函数是addEventListener(事件类型, 处理函数, 使用捕获);
在简单的HTML应用中可能用不用效果不明显,但是在复杂的HTML客户端JS代码内,优势就体现出来了。
Firefox中是addEventListener方法
if (window.addEventListener) {
window.addEventListener('DOMContentLoaded', handler, false); //firefox
window.addEventListener('load', handler, false);
} else if (window.attachEvent) {
window.attachEvent('onload', handler); //IE
}
http://cache.baidu.com/c?m=9d78d513d99017f90fa9c3224b488c275f03dc347cc0d0642288cd15c0324f060738ece161645213d2b6617a59e71909b2b17d6537747bf1cc83df5dddccc3757095776a2d499b4417d912adc8&p=8970c54ad5c54add0aafc771070089&user=baidu&fm=sc&query=addEventListener+onload&qid=c7edbbe426f9d282&p1=1#baidusnap0
分享到:
相关推荐
window对象的attachEvent方法只在IE浏览器中有效,其它浏览器不支持这个方法,所以报错。 self.attachevent is not a function其实就是以前的代码, 没有做chrome、firefox浏览器兼容导致。 self.attachEvent(...
IE11没有window.attachEvent方法处理方法,文档中有详细说明
本文实例讲述了javascript中attachEvent用法。分享给大家供大家参考。具体分析如下: 一般我们在JS中添加事件,是这样子的 obj.onclick=method 这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件...
attachEvent与addEventListener区别适应的浏览器版本不同,同时在使用的过程中要注意
在js中绑定多个事件用到的是两个方法:attachEvent和addEventListener,但是这两个方法又存在差异性 attachEvent方法 只支持IE678,不兼容其他浏览器 addEventListener方法 兼容火狐谷歌,不兼容IE8及以下 ...
无标题文档 Click Me [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
• addEventListener共有3个参数,如下所示: element.addEventListener(type,listener,useCapture); 参数 参数说明 ...事件名称,注意去掉事件前边的“on”,比如“onclick”要写成“click”,“onmouseover”要...
NULL 博文链接:https://zhang-yingjie-qq-com.iteye.com/blog/321486
02-attachEvent.html
使用attachEvent对同一事件进行多次绑定,这是解决事件函数定义冲突的重要方法。但是在IE中,函数内的this指针并没有指向被绑定元素,而是function对象,在应用中,这是很难受的一件事,如果试图用局部变量传送元素...
attachEvent的使用方法与传递参数[IE|firefox]
//调用微信JS api 支付 function jsApiCall() { WeixinJSBridge.invoke( "getBrandWCPayRequest", '.$jsApiParameters.', function(res){ //alert(res.err_msg); //WeixinJSBridge.log(res.err_msg); ...
代码如下:var newopen = function(id,level) { return function() { opentree(id,level);//该函数为外部定义的一个执行函数; } } x.attachEvent(“onclick”,newopen(id,parseInt(level)+1)); y.attachEvent(...
BaseJs = function() { // 判断浏览器类型 userAgent = navigator.userAgent.toLowerCase(); check = function(r) { return r.test(userAgent); }; isOpera = check(/opera/); isIE = !isOpera && check...
attachEvent Retrofill 释放旧记忆并安装attachEvent改造! 随着 IE 的消失和 Edge 的出现,微软将... attachEvent ( 'onmousemove' , function ( ) { alert ( 'I will not let you close this tab' ) ;} ) ;
但是浏览器有addEventListener和attachEvent方法可供调用,从而模拟出类似于C#中的事件委托的事件触发机制! 代码如下: /* * 功能:事件处理 * Author:LQB * 时间:2009-1-4 * #include JCore.js */ var JEvents = ...