社区
JavaScript
帖子详情
JavaScript怎么给onfocus这样的内部事件传递参数
pgmsoul
2012-09-29 11:02:08
HTML代码里可以写
<input type="text" onfocus='onFocus(this);'>
如果动态的用JavaScript怎么传这样的类似this的参数.
var text_box = document.getElementById("box");
text_box.onfocus = onFocus;//这里有没有什么办法把this之类的参数让它响应的时候, 自动处理.
...全文
407
8
打赏
收藏
JavaScript怎么给onfocus这样的内部事件传递参数
HTML代码里可以写 如果动态的用JavaScript怎么传这样的类似this的参数. var text_box = document.getElementById("box"); text_box.onfocus = onFocus;//这里有没有什么办法把this之类的参数让它响应的时候, 自动处理.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pgmsoul
2012-09-29
打赏
举报
回复
this那个最简单了, 怎么没想到呢?
还找到了一个闭包的方法
obj.onfocus = (function(param){
return function(){
//回调的时候, param就是想传的参数.
}
})(param);
如果仅仅是方法对象本身, this最直接了, 其它参数其实可以用对象的属性来传递, 这样连闭包都用不着.
pgmsoul
2012-09-29
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
text_box.onfocus = function(e){
//e:表示事件参数 事件参数里面可以拿到触发事件的对象
};
[/Quote]
不行, e是undefined, arguments也不行, length是0
KK3K2005
2012-09-29
打赏
举报
回复
text_box.onfocus = function(e){
//e:表示事件参数 事件参数里面可以拿到触发事件的对象
};
lw5853103
2012-09-29
打赏
举报
回复
我上面写的例子可能有不合时宜的地方 但是原理是可以的 你可以适当的改一下
scscms太阳光
2012-09-29
打赏
举报
回复
<input type="text" value="1">
<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>
lw5853103
2012-09-29
打赏
举报
回复
text_box.onfocus = onFocus;//这里有没有什么办法把this之类的参数让它响应的时候, 自动处理.
谁调用了onfocus,this就代表调用对象的引用.
监听事件默认的第一个参数是event对象,可以用arguments[0]取到
book523
2012-09-29
打赏
举报
回复
js的事件都有一个隐含参数arguments,可以使用调试模式查看参数的具体信息
var oT = function()
{
var oEvent = arguments[0]; //事件
var oTarget = oEvent.srcElement || oEvent.target ; //获取发生事件的目标(IE为srcElement ,火狐是target)
oTarget.style.color='red'; //事件目标字体变红色
}
lw5853103
2012-09-29
打赏
举报
回复
如果你直接写在window下面,参数可以用全局变量
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;
}
Javascript
For Beginners
Good tutorial for learning
JavaScript
js 动态给元素添加、移除
事件
的实现方法
下面小编就为大家带来一篇js 动态给元素添加、移除
事件
的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
前端面试题(2016含答案).docx
前端面试题(2016含答案).docx前端面试题(2016含答案).docx
前端面试题(2016含答案)精华版.pdf
。。。
Web前端问题JS篇.docx
Web前端问题JS篇.docx
JavaScript
87,994
社区成员
224,697
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章