当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript事件处理代码的三种写法

Javascript
比较平滑的js控制textaera的高度
对JavaScript的eval()中使用函数的进一步讨论
发一个自己用JS写的实用看图工具实现代码
用JS操作FRAME中的IFRAME及其内容的实现代码
用vbs实现的连连看在线游戏
用js生产批量批处理执行命令
[原创]js判断ie方法集锦(含正则)代码短小经典
js tr控制下面的tbody隐藏和显示
javascript网页关键字高亮代码
js控制框架刷新
效率高的Javscript字符串替换函数的benchmark
javascript之更有效率的字符串替换
很可爱的输入框
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
top.location.href 没有权限 解决方法
js模拟弹出效果代码修正版
javascript 输入框提示列表效果
Div Select挡住的解决办法
二级域名或跨域共享Cookies的实现方法
Javascript与flash交互通信基础教程

Javascript事件处理代码的三种写法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 242 ::
收藏到网摘: n/a

1.作为HTML属性值的事件处理程序


 HTML代码
<input name="btn" type="button" id="btn" value="按钮" onclick="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="按钮" onclick="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.第三种方法


 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却又可以实在有点让人费解。