例如如下控件失去焦点已经有一个事件函数(函数名不定,在这只是举例,)。 <input name="txt" type="text" id="txt" onblur="alert(123)" />我想动态的给这个事件再添加一个执行函数
如果用txt.onblur=function(){……}注册事件函数会把原本的那个事件函数覆盖掉。
我的目的是不管该控件本身有没有事件函数,都加一个函数
if(txtObj.onblur ==null)
{
txtObj.onblur = function(){HideTips();}
}
else
{
//希望能 txtObj.onblur += function(){HideTips();}
}
如果用txt.onblur=function(){……}注册事件函数会把原本的那个事件函数覆盖掉。
我的目的是不管该控件本身有没有事件函数,都加一个函数
if(txtObj.onblur ==null)
{
txtObj.onblur = function(){HideTips();}
}
else
{
//希望能 txtObj.onblur += function(){HideTips();}
}
ff可以addEventListener
参数百度下吧
可以绑定多个事件
});
$("input[name='txt']").bind('blur ',function(){//function 2
});这样绑定后,会按顺序执行上面两个事件!(使用Jquery)
<html>
<head>
</head>
<body>
<input name="txt" type="text" id="txt" onblur="alert(123)" />
<script type="text/javascript">
var domNode = document.getElementById("txt");
//这里区分IE和firefox浏览器,IE有document.all属性 firefox没有 走else
//而两个浏览器对此的实现是不同的
if (document.all)
{
domNode.attachEvent("onblur",function(){
alert("HideTips!");
});
}
else
{
//在firefox中失去焦点是blur事件
domNode.addEventListener("blur",function(){
alert("HideTips!");
},false);
}
</script>
</body>
</html>这段代码可以原样拷贝到html文件中运行 你试试 应该满足你的要求
function tt(){
// do something
}
document.getElementById('txt').setAttribute("onblur","tt()");
{
txtObj.onblur = function(){HideTips();}
}
else
{
var blur1 = texObj.onblur //获得原来的响应函数
txtOjb.onblur = function(){
blur1(); //触发原来的函数
HideTips();//触发添加后的函数
}
}