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>
Webjx.Com
说明:可能受第一种方法的误导,你会觉得应该写成:document.getElementById("btn").onclick() = "alert('mzwu.com');",这样写是错误的!其实第一种方法隐式的创建了一个函数,使用下边代码可以说明这一点,因为它检测出HTML属性值其实是一个函数: Webjx.Com
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.第三种方法 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却又可以实在有点让人费解。