JS获取元素对象后,给对象绑定事件,如何给事件处理程序传参呢?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件的演示代码</title>
</head>
<body>
<input type="button" value="test">
<script !src="">
function fun(a) {
alert("hello" + a);
}
var bt = document.getElementById("bt");
// 只能指定函数对象
bt.onclick = fun;// 如何传参呢?
</script>
<!--onclick 属性只能指定代码-->
<input type="button" value="test2" onclick="fun();">
</body>
</html>

如上代码,bt.onclick = 如何调用函数fun(a),并传一个参数呢?

bt.onclick = fun(2); 这样是不行的,因为页面加载时就直接调函数fun(a)了。bt.onclick = "fun(2)"; 这样也不行,点击无效

回答

不清楚你要实现什么效果,这样行吗

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件的演示代码</title>
</head>
<body>
    <input type="button" value="test">
    <script !src="">
        var a = "aaa";
        function fun() {
            alert("hello + " + a);
        }
        var bt = document.getElementById("bt");
        // 只能指定函数对象
        bt.onclick = fun;// 如何传参呢?
    </script>
    <!--onclick 属性只能指定代码-->
    <input type="button" value="test2" onclick="fun();">
</body>
</html>

或者这样

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件的演示代码</title>
</head>
<body>
    <input type="button" value="test" onclick="fun('aaa')">
    <script !src=""> 
        function fun(a) {
            alert("hello + " + a);
        } 
    </script>
    <!--onclick 属性只能指定代码-->
    <input type="button" value="test2" onclick="fun('bbb');">
</body>
</html>
以上是JS获取元素对象后,给对象绑定事件,如何给事件处理程序传参呢?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>