JavaScript 事件绑定传参:如何给事件处理程序传参?

javascript 事件绑定传参:如何给事件处理程序传参?

js事件绑定传参技巧

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

默认情况下,事件处理程序只能指定函数对象,无法直接传参。对于像bt.onclick = fun(2);这样的写法,虽然看上去像传参,但其实会直接在页面加载时调用函数。另一个尝试bt.onclick = "fun(2)"; 也不行,因为这样会导致点击无效。

为了实现传参,有以下两种方法:

方法一:使用闭包

这种方法通过在外部函数中定义内部函数的方式来实现传参。外部函数的参数会被传入内部函数,从而实现事件处理程序中传参。

<script !src="">
  var a = "aaa";
  function fun() {
    alert("hello + " + a);
  }
  var bt = document.getelementbyid("bt");
  // 只能指定函数对象
  bt.onclick = fun; // 如何传参呢?
</script>

方法二:使用匿名函数

另一种方法是使用匿名函数进行传参,将需要传参的函数作为参数传入匿名函数即可。

<script !src=""> 
  function fun(a) {
    alert("hello + " + a);
  } 
  var bt = document.getElementById("bt");
  bt.onclick = function() { fun('aaa'); };
</script>

以上就是JavaScript 事件绑定传参:如何给事件处理程序传参?的详细内容,更多请关注其它相关文章!