《悟透JavaScript》学习札记之响应DOM事件

响应DOM事件的两种方式:

1. 静态绑定(JS代码写在HTML标签的事件属性里面):

<div οnclick="alert('This is a ' + this.tagName)">Click Me Static!</div> // output: This is a DIV

2.动态绑定(DOM对象的事件属性与事件处理函数关联):

               <div id="aDiv">Click Me Dynamic!</div>
<script type="text/javascript">
aDiv.onclick = ClickMe;
function ClickMe()
{
alert('This is a ' + this.tagName);
};

    output: This is a DIV

---------------------------------------------------------------------------------------------------------------------------------------------------

onclick = "..."  <=> id.onclick = function(){...};

例子:

<div οnclick="ClickMe()">Click Me!</div>

等价于aDiv.onclick = function(){ClickMe()};

此时ClickMe函数内的this参数并非触发事件的DOM对象本身,而是全局的window对象。output: This is a undefined

对象传递可解决上述问题,如<div onclick = "ClickMe.call(this)">Click Me</div> // output: This is a DIV

但是<div οnclick="ClickMe(this)">ClickMe(this)!</div> // output: This is a undefined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值