javascript事件绑定学习要点_基础知识

javascript事件绑定学习要点_基础知识

ID:30777260

大小:144.72 KB

页数:14页

时间:2019-01-03

javascript事件绑定学习要点_基础知识_第1页
javascript事件绑定学习要点_基础知识_第2页
javascript事件绑定学习要点_基础知识_第3页
javascript事件绑定学习要点_基础知识_第4页
javascript事件绑定学习要点_基础知识_第5页
资源描述:

《javascript事件绑定学习要点_基础知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、javascript事件绑定学习要点事件绑定分为两种:一种是传统事件绑定(内联模型,脚木模型),一种是现代事件绑定(D0M2级模型)。现代事件绑定在传统绑定上提供了更强大更方便的功能。一传统事件绑定的问题传统事件绑定屮的内联模型不做讨论,基本很少去用。先来看一下脚本模型,脚本模型将一个函数赋值给一个事件处理函数。传统绑定如:window.onload二function(){varbox=documcnt・getElcmentByld(5box');box.onclick=function(){alert

2、('Lee');};};问题一:一个事件处理函数触发两次事件如果一个页面有两个或者多个js,并且第一个js是第一个程序开发的,第二个js是第二个程序员开发的。第一个window,onload被覆盖了,如window.onload=function(){alert('Lee');};window.onload二function(){alert('Mr.lee');}结果只是打印了Mr.lee其实是冇办法解决这个问题的,看下而这两种形式。a:alert(window,onload);//一开始没有注册win

3、dow,onload,那么就是nullwindow.onload=function(){alert('Lee,);};alert(window,onload);〃如果已经有window,onload,打卬的是函数functionwindow.onload=function(){alert('Mr.lee,);}b:alert(typeofwindow,onload);//一开始没有window,onolad,IC版火狐显示undefined,新版显示object,window.onload二functi

4、on(){alert('Lee,);};alert(typeofwindow,onload);//如果已经有window,onload,所有浏览器都会显示functionwindow.onload二function(){alert('Mr.lee,);}所以解决办法有了。window.onload二function(){alert('Lee');};if(typeofwindow.onload==,function'){varsaved=null;//保存上一个事件对象saved二window.onlo

5、ad;}//saved就是window.onload,saved。相当于window.onload(),但是window,onload()不能执彳亍的//所以saved()相当于window・onloadhtmction(){}window.onload=function(){if(saved){saved();〃执行上一个事件window,onload二function(){}}alertCMr.lee*);//执行本事件问题二:事件切换器切换一个id为box的div,让里面的背景red与blue直接

6、切换,并且切换之前弹框一次,如:window.onload=function(){varbox二document.getElementById('box,);box.classNeime二〃red";box.onclick二function(){alert(JLee,);//只执行了一次blue,call(this);〃通过匿名函数执行某一函数,那么里面的this就是代表的window,所以可以通过call传递};}functionblue(){this.className二〃blue";this,on

7、click二red;functionred(){this.classN^me二〃red";this・onclick二blue;上面的代码虽然实现了切换功能,但是弹框只执行了一次。//添加事件函数//obj相当于window//type相当于onload//fn相当Tfunction(){}functionaddEvent(obj,type,fn){//用于保存上一个事件varsaved=null;if(typeofobj['on,+type]==,function,){saved二obj['on,+ty

8、pe];//保存上一个事件}obj['on,+type]二function(){if(saved){saved();}fn.call(this);addEvent(window,'load,,function(){varbox二document.getElementByld(〃box〃);//addEvent(box,Jclick,,function(){//目的达到,每次都执行了,没有被覆盖//alert('ss');//});addEv

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。