
js 给事件处理程序传参
在 js 中获取元素对象后,可以通过绑定事件的方式为对象添加特定行为。然而,在绑定事件时,可能需要给事件处理程序传递参数。本文将介绍如何在 bt.onclick 中调用函数 fun(a) 并传递参数。
方法 1:使用闭包
闭包可以将外部变量的值传递到内部函数中。通过在事件处理程序中使用闭包,可以访问存在于外部作用域中的参数。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>事件的演示代码</title>
</head>
<body>
<input id="bt" type="button" value="test">
<script>
var a = "aaa";
function fun() {
alert("hello + " + a);
}
var bt = document.getelementbyid("bt");
bt.onclick = fun;
</script>
<input type="button" value="test2" onclick="fun('bbb')">
</body>
</html>在上面的代码中,变量 a 存储在全局作用域中。当 bt 元素的 onclick 事件被触发时,闭包函数 fun 被调用,它可以访问外部变量 a。
方法 2:直接传递参数
如果只需要传递单个参数,可以将参数直接传递到 onclick 事件处理程序中。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件的演示代码</title>
</head>
<body>
<input id="bt" type="button" value="test" onclick="fun('aaa')">
<script>
function fun(a) {
alert("hello + " + a);
}
</script>
<input type="button" value="test2" onclick="fun('bbb')">
</body>
</html>在上面的代码中,参数 'aaa' 直接传递到 fun 函数。这种方法简单高效,但无法传递多个参数。
以上就是如何在JS中给事件处理程序传递参数?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号