js事件触发的三种写法

1.
HTML代码
<input name="btn" type="button" id="btn" value="按钮" οnclick="alert('mzwu.com');" />



2.作为JavaScript属性的事件处理程序

HTML代码
<input name="btn" type="button" id="btn" value="按钮" />
<script language="javascript">
document.getElementById("btn").onclick = function(){alert("mzwu.com");}
</script>


说明:可能受第一种方法的误导,你会觉得应该写成:document.getElementById("btn").onclick() = "alert('mzwu.com');",这样写是错误的!其实第一种方法隐式的创建了一个函数,使用下边代码可以说明这一点,因为它检测出HTML属性值其实是一个函数:

HTML代码
<input name="btn" type="button" id="btn" value="按钮" οnclick="alert(typeof(this.onclick));" />


上边是用直接量来创建函数,改成用function()语句的写法:


HTML代码
<input name="btn" type="button" id="btn" value="按钮" />
<script language="javascript">
function e()
{
alert("mzwu.com");
}
document.getElementById("btn").onclick = e;
</script>


由此我们可引申出第三种方法。3.第三种方法

Webjx.Com

HTML代码
<input name="btn" type="button" id="btn" value="按钮" />
<script language="javascript">
function document.all.btn.onclick()
{
alert("mzwu.com");
}
</script>


说明:诸如此类的方法还有function document.onclick(){},但这种方法在IE、FF中测试只有IE下可行,再改成function document.getElementById("btn").onclick(){}在IE、FF下都不行了,提示缺少标识符,其实这也不难解释,因为JavaScript标识符中本来就不允许出现点号,用document.getElementById("btn").onclick做标识符显然是错误的,但document.all.btn.onclick却又可以实在有点让人费解。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值