请问要怎么做呢。我用function addEvent(obj, type, fn){
if (obj) {
if (obj.addEventListener) {
obj.addEventListener(type, fn, false);
}
else if (obj.attachEvent) {
var funIe = function(){
fn.call(window.event.srcElement);
};
obj.attachEvent("on" + type, funIe);
}
else{
obj["on" + type] = fn;
}
};
}
addEvent(document.getElementById("count"), "focus", numTwolimit());
addEvent(document.getElementById("count"), "blur", numTwolimit());
addEvent(document.getElementById("count"), "change", numTwolimit());
可是没有用,我要怎么做呢?
if (obj) {
if (obj.addEventListener) {
obj.addEventListener(type, fn, false);
}
else if (obj.attachEvent) {
var funIe = function(){
fn.call(window.event.srcElement);
};
obj.attachEvent("on" + type, funIe);
}
else{
obj["on" + type] = fn;
}
};
}
addEvent(document.getElementById("count"), "focus", numTwolimit());
addEvent(document.getElementById("count"), "blur", numTwolimit());
addEvent(document.getElementById("count"), "change", numTwolimit());
可是没有用,我要怎么做呢?
var count = document.getElementById("count");
addEvent(count, "focus", numTwolimit());
addEvent(count, "blur", numTwolimit());
addEvent(count, "change", numTwolimit());
这样就好了为什么不能直接写document.getElementById("count")呢,我有点晕晕的,我javascript学的不好,请大家教教我啊,还有change没用,怎么做才能做到我改变里面的值了就出发啊,不要等到鼠标点其它地方了。
addEvent(document.getElementById("count"), "blur", numTwolimit);
addEvent(document.getElementById("count"), "change", numTwolimit);try
恩,这个原因,唉,我老眼昏花了。至于
还有change没用,怎么做才能做到我改变里面的值了就出发啊,不要等到鼠标点其它地方了。这个onchange 在 下拉菜单上就可以及时触发,
你想在文本框上得用 onkeyup 或者 onkeydown 或者 onkeypress
var count = document.getElementById("count");
addEvent(count, "focus", numTwolimit());
addEvent(count, "blur", numTwolimit());
addEvent(count, "change", numTwolimit());
这样就好了
============================
这代码在IE8下会报错,不知是不是我IE问题
你的addEvent参数是函数名
不是函数返回值吧
谢谢大家解释了,可是能不能再告诉我下
为什么不加括号啊,加入要是我numTwolimit这个是带参数的那我要怎么做?
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript">
var theP; //P标签对象
var show=function(msg){ //直接定义 function show(msg) 效果是一样的
return function(){
alert(msg+" from show()"); if(window.addEventListener){ //FF etc.
theP.removeEventListener("click", theP.show11, false);
}
else{ //IE
theP.detachEvent("onclick", theP.show11);
}
}
} var show2=function(msg){ //直接定义 function show2(msg) 效果是一样的
return function(){
alert(msg+" from show2()");
}
}
function showDef(){
alert("showDef()");
if(window.addEventListener){ //FF etc.
theP.removeEventListener("click", showDef, false);
}
else{ //IE
theP.detachEvent("onclick", showDef);
}
}
window.onload=function(){
theP=document.getElementById("pid");
theP.show11=show("可以detach的带参数方法");
if(window.addEventListener) // not IE
{
//for FF.etc
theP.addEventListener("click", theP.show11, false);
theP.addEventListener("click", showDef, false);
}
else
{
//for IE
theP.attachEvent("onclick", theP.show11);
theP.attachEvent("onclick", show2('不能detach的带参数方法'));//区别于上一个,这里不能detach
theP.attachEvent("onclick", showDef); //无参数的方法直接写
}
}
</script></head><body >
<div >
<p id="pid">Click Me</p>
</div>
</body>
</html>