js onclick传参问题

做东西的时候,遇上一个需求,就是当给一个组件绑定点击事件的时候,想传递一个参数过去。
具体的说,这个需求大概是这样子的:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>配置文件</title>
    <script>
		var button =document.createElement("testButton");
		button.onclick = test;
		
		function test(){
			alert('无参数');
		}
	</script>
</head>
<body>
<button id="testButton">点点</button>
</body>
</html>

上边这个代码,点击button就会调用 test() 这个函数,那如果我想调用 test() 的时候想给他传个参数呢。
直接把button.onclick = test;改成button.onclick = test(1);

下边的

function test(){
	alert('无参数');
}

改成

function test(a){
	alert('有参数:' + a);
}

这样子改是不行的
我发现一种方式,可以这样写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>配置文件</title>
    <script>
		var button =document.createElement("testButton");
		button.onclick = function(){
			test(1)
		}
		
		function test(a){
			alert('有参数:' + a);
		}
	</script>
</head>
<body>
<button id="testButton">点点</button>
</body>
</html>

可以巧妙的实现这个需求

参考链接:
https://www.jb51.net/article/52947.htm

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值