最近突然要用到JS脚本动态给元素添加事件。如TextBox的onclick事件。但有的onclick事件原先已经定义了相应代码!
这里又不能替代原有方法,隐约记得JS脚本里面有个方法可以给控件在原有事件的基础上进行添加!
<
html
>
< script language ="javascript" >
function set()
{
var obj = document.getElementById("fy");
//obj.attachEvent('onfocus', add); //在原先事件上添加
//obj.setAttribute('onfocus',add); //会替代原有事件方法
//obj.οnfοcus=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 >
转自
< script language ="javascript" >
function set()
{
var obj = document.getElementById("fy");
//obj.attachEvent('onfocus', add); //在原先事件上添加
//obj.setAttribute('onfocus',add); //会替代原有事件方法
//obj.οnfοcus=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 >
http://www.cnblogs.com/eflylab/archive/2008/03/21/1115966.html