0
点赞
收藏
分享

微信扫一扫

js onclick传参问题

棒锤_45f2 2022-02-16 阅读 68

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

<!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

举报

相关推荐

0 条评论