js事件处理程序参数传递
正如问题中所述,通过bt.onclick = fun无法给fun(a)函数传递参数。
事实上,事件处理程序中无法直接传递参数。但我们可以利用闭包或function构造函数间接实现参数传递。
闭包
立即学习“Java免费学习笔记(深入)”;
var a = "aaa"; var bt = document.getelementbyid("bt"); bt.onclick = function() { fun(a); };
登录后复制
在闭包中,a引用着外部变量,不会被回收。当事件处理程序调用时,a的值仍能被访问。
function构造函数
var bt = document.getElementById("bt"); bt.onclick = new Function("a", "fun(a)"); bt.onclick("bbb");
登录后复制
这里,new function("a", "fun(a)")创建了一个匿名函数,参数为a,函数体为fun(a)。当事件处理程序调用时,这个匿名函数被执行,从而实现参数传递。
以上就是如何在 JavaScript 事件处理程序中传递参数?的详细内容,更多请关注抖狐科技其它相关文章!
-
战神5风灵月影修改器如何用_战神诸神黄昏风灵月影修改器怎么用
战神:诸神黄昏风灵月影修改器的教程来了!本文将指导玩家如何使用这款修改器来修改游戏中的各种参数,包括解锁技能、无限资源、调整角色属性等。通过修改器,玩家可以获得更便捷的游戏体验,轻松定制游戏难度和玩法...
-
崩坏星穹铁道飞霄翡翠轮椅队怎么玩 崩坏星穹铁道飞霄翡翠轮椅队搭配以及玩法解析
在浩瀚的星穹之中,《崩坏:星穹铁道》中,飞霄翡翠轮椅队凭借其独特的组合和强悍的控制能力,成为深受玩家喜爱的队伍配置之一。本篇文章将由php小编草莓详细解析飞霄翡翠轮椅队的搭配策略和实战玩法,带你领略这...
-
88vip优酷会员可以用几个人
88vip优酷会员可同时在三台设备上使用,具体说明如下:可在不同设备上使用,包括手机、平板和电脑。同一会员最多可在3台设备上同时登录。超过3台设备时,需退出其他设备后继续使用。可在优酷会员中心管理已登...
-
talk to和speak to的区别
"talk to"和"speak to"都表示与他人交谈,但"talk to"更随意、注重内容沟通,"speak to"更正式、注重表达和语调,适合重要谈话。talk to和speak to的区别 "...
-
龙息神寂炽焰领域副本如何速通 龙息神寂炽焰领域副本速通攻略
龙息神寂炽焰领域副本如何速通是游戏中关注度比较高的一个问题,针对龙息神寂炽焰领域副本如何速通这个问题只要玩家按照下面所说的步骤进行,就可以轻松解决。 龙息神寂炽焰领域副本速通攻略一、阵容推荐 1、阵容...