原代码中某个控件的onblur事件已有处理函数,现在需要在该处理函数前插入另外一个函数做其他事情,不能直接在原代码控件的onblur事件中直接添加,想利用attachEvent/addEventListener来实现,但是发现这样为控件注册的函数不能再原函数之前执行,不知道有没有办法解决,请高手指教。<html>
<head></head>
<script type="text/javascript">
function check() {
alert("check");
}
function format() {
alert("format");
}
</script>
<body>
<form name="testFrm">
Name: <input type="text" name="name" value="" onblur="format();"/><br>
Age : <input type="text" name="age" value="" onblur=""/><br>
<input type="button" name="btnOk" value="OK" onclick="" />
</form>
</body>
<script type="text/javascript">
var items = document.getElementsByName("name");
var itemName = items[0];
alert(itemName);
itemName.attachEvent("onblur", check);
</script>
</html>
<head></head>
<script type="text/javascript">
function check() {
alert("check");
}
function format() {
alert("format");
}
</script>
<body>
<form name="testFrm">
Name: <input type="text" name="name" value="" onblur="format();"/><br>
Age : <input type="text" name="age" value="" onblur=""/><br>
<input type="button" name="btnOk" value="OK" onclick="" />
</form>
</body>
<script type="text/javascript">
var items = document.getElementsByName("name");
var itemName = items[0];
alert(itemName);
itemName.attachEvent("onblur", check);
</script>
</html>
<head></head>
<script type="text/javascript">
function check() {
format();//把函数移到这里边就行了 在check之前先做format 可以让format返回一个布尔值 true往下执行 否则 return;
alert("check");
}
function format() {
alert("format");
}
</script>
<body>
<form name="testFrm">
Name: <input type="text" name="name" value=""/><br>
Age : <input type="text" name="age" value="" onblur=""/><br>
<input type="button" name="btnOk" value="OK" onclick="" />
</form>
</body>
<script type="text/javascript">
var items = document.getElementsByName("name");
var itemName = items[0];
alert(itemName);
itemName.attachEvent("onblur", check);
</script>
</html>
<head></head>
<script type="text/javascript">
function check() {
alert("check");
if(你的判断条件){
return true;
}else{
return false;
}
}
function format() {
if(check()){
alert("format");
}else{
alert('check结果有误')
}
}
</script>
<body>
<form name="testFrm">
Name: <input type="text" name="name" value="" onblur = "format()"/><br>
Age : <input type="text" name="age" value="" onblur=""/><br>
<input type="button" name="btnOk" value="OK" onclick="" />
</form>
</body>
</html>
实际上原站点中所有类似的text控件都需要添加onblur时的数据check,所以需要通过共通处理来动态添加
请问楼上提到方法如何实现,可否动态获取空间的某个属性所调用的函数,再重新绑定,能不能贴上代码参考一下,谢谢
如7#所说,用 itemName.onblur = ""; 可以。然后在顺序绑定check和format。