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

Javascript
JS幻想 读取二进制文件
javascript 层展开/关闭,带缓冲效果
仿淘宝首页分类列表效果实现代码
javascript 像素拼图实现代码
javascript+css 新闻显示tab 选项卡效果
[转]去百度面试的javascript 收获
用JavaScript显示随机图像或引用
一个类似vbscript的round函数的javascript函数
JavaScript 学习点滴记录
Js 获取HTML DOM节点元素的方法小结
在线编辑器中换行与内容自动提取
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
javascript 绘制矩形框
纯JS 绘制数学函数
javascript Excel操作知识点
jQuery 注意事项 与原因分析
JQuery 初体验(建议学习jquery)
RGB颜色值转HTML十六进制(HEX)代码的JS函数
JavaScript 使用技巧精萃(.net html
js tab 选项卡

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 215 ::
收藏到网摘: 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却又可以实在有点让人费解。