HTML代码里可以写
<input type="text" onfocus='onFocus(this);'>如果动态的用JavaScript怎么传这样的类似this的参数.var text_box = document.getElementById("box");
text_box.onfocus = onFocus;//这里有没有什么办法把this之类的参数让它响应的时候, 自动处理.
<input type="text" onfocus='onFocus(this);'>如果动态的用JavaScript怎么传这样的类似this的参数.var text_box = document.getElementById("box");
text_box.onfocus = onFocus;//这里有没有什么办法把this之类的参数让它响应的时候, 自动处理.
var a = 1 , b= 2;
window.onload = function(){
var text_box = document.getElementById("box");
text_box.onfocus = function(){
return a+b;
};
}如果你定义在类里面function A(arg0 , arg1){
this.a = arg0;
this.b = arg1;
}
A.prototype.fnOnFocus = function(){
var me = this;
return me.a+me.b;
}
var oT = function()
{
var oEvent = arguments[0]; //事件
var oTarget = oEvent.srcElement || oEvent.target ; //获取发生事件的目标(IE为srcElement ,火狐是target)
oTarget.style.color='red'; //事件目标字体变红色
}
监听事件默认的第一个参数是event对象,可以用arguments[0]取到
<input type="text" value="2">
<input type="text" value="3">
<script type="text/javascript">
var input=document.getElementsByTagName("input");
for(var i=0;i<input.length;i++){
input[i].onfocus=function(){
alert(this.value);
}
}
</script>
};
不行, e是undefined, arguments也不行, length是0
return function(){
//回调的时候, param就是想传的参数.
}
})(param);如果仅仅是方法对象本身, this最直接了, 其它参数其实可以用对象的属性来传递, 这样连闭包都用不着.