javascript之事件一

漫漫学习之路何其久远,只有抛弃浮躁,静下来看书方能有所收获.

写此文章仅为记录自身学习之路,文章内容不是固定的,每当我发现新的东西就会添加进去.文章也可能有错误,希望看到的兄弟能帮我指出,在此小弟谢谢了.大笑


.事件有哪些要注意的问题

1.问题一:每个事件只能注册一个函数

window.onload =function (){

var div =document.getElementByTagName('div')[0];

div.onclick = a;

div.onclick = b;

functiona (){alert('a');}

functionb (){alert('b');}

}

//b会覆盖单机页面执行b

 

(1)解决方案一:

window.onload =function (){

var div =document.getElementByTagName('div')[0];

div.οnclick=function ()

{

a();

b();}

functiona (){alert(this.className);}

function b (){alert(this.id);}

}

 

缺陷1:不能在运行时加入函数,必须同时放在一起

缺陷2:此时a,b方法中的this指向的是window对象,而不是div对象,不过可以通过a.call(this);函数解决

,这样this就指向div对象了

 

 

2)解决方案二:

functionaddEvent(obj,sj,fn)

{

//obj是要添加事件的对象

//sj是添加的事件

//fn是方法        

varsaved ;

if(typeofobj['on'+sj] == 'function')

saved = obj['on'+sj];//当添加函数时,检查是否是存在,存在则保存

obj['on'+sj]= function ()

{

if(saved)saved();

if(typeoffn === 'function')fn();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值