社区
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之类的参数让它响应的时候, 自动处理.
...全文
392
8
打赏
收藏
JavaScript怎么给onfocus这样的内部事件传递参数
HTML代码里可以写 如果动态的用JavaScript怎么传这样的类似this的参数. var text_box = document.getElementById("box"); text_box.onfocus = onFocus;//这里有没有什么办法把this之类的参数让它响应的时候, 自动处理.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
- **带参数版本**:允许通过参数传递不同的消息。 - **时间显示**:获取当前时间并显示在页面上,常用作学习日期对象和DOM操作的示例。 #### 六、
事件
处理 - **常见
事件
**: - `onLoad`:页面加载完成时触发。 ...
js 动态给元素添加、移除
事件
的实现方法
在
JavaScript
开发中,动态给元素添加和移除
事件
处理程序是非常常见的操作,它们允许我们根据用户的交互或其他情况对页面上的元素作出响应。这篇文章主要介绍了如何使用
JavaScript
内置的方法addEventListener和...
前端面试题(2016含答案).docx
两者传递的参数不同,call函数第一个参数都是要传入给当前对象的对象,apply不是 解释:两者都可以改变函数调用时的this上下文,call第一个参数是上下文对象,apply第一个参数也是上下文对象,但其余参数需以数组...
前端面试题(2016含答案)精华版.pdf
- `call`的第一个参数是目标上下文,其余参数直接传递。 - `apply`的第一个参数也是目标上下文,第二个参数是一个包含多个参数的数组或类数组对象。 - `call`和`apply`都可以改变函数执行时的环境,但参数传递...
Web前端问题JS篇.docx
8. **参数传递**:JS函数调用时可以通过位置
传递参数
,也可以通过命名传递,如`function foo(param1, param2)`,调用时`foo(value1, value2)`。 9. **JS执行流程**:JS执行分为预加载、读取解析值和逐行解析三个...
JavaScript
87,997
社区成员
224,708
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章