本文介绍如何在JavaScript中动态为HTML标签控件绑定事件。通过获取DOM元素后,利用setAttribute或直接赋值方式为特定事件(如onfocus)添加处理函数,并演示了如何在不覆盖原有事件的前提下进行扩展。
动态添加事件处理函数示例
本文通过具体实例,讲解如何在JavaScript中动态地为HTML标签控件添加事件处理函数。
HTML与JavaScript代码实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<script language="javascript">
function set() {
var obj = document.getElementById("fy");
//obj.attachEvent('onfocus', add); //在原先事件上添加
//obj.setAttribute('onfocus',add); //会替代原有事件方法
//obj.onfocus=add;
//等效obj.setAttribute('onfocus',add);
if (window.addEventListener) {
//其它浏览器的事件代码: Mozilla, Netscape, Firefox
//添加的事件的顺序即执行顺序
//注意用 addEventListener 添加带on的事件,不用加on
obj.addEventListener('focus', add, false);
} else {
//IE 的事件代码 在原先事件上添加 add
方法obj.attachEvent('onfocus', add);
}
}
function add() {
alert("已经成功添加事件");
}
</script>
<body>
<input type="text" onfocus="alert('预设事件');" id="fy" />
<input type="button" onclick="set();" value="sssss"/>
</body>
</html>
此外,文末提供了JavaScript事件参考表的链接,方便开发者查阅相关事件详情。
关于JavaScript事件与功能的完整说明,可参考以下链接: http://tools.jb51.net/table/javascript_event
若需深入了解JavaScript其他相关知识,建议阅读本站专题:《JavaScript事件相关操作与技巧大全》、《JavaScript操作DOM技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》。
希望上述内容能对您的JavaScript编程工作提供有益帮助。