js绑定事件、传递参数

绑定事件的两种方式

方式一(在属性上绑定事件)

<div onclick=“ck('hello')” id=“div”></div>
<script>
    function ck(str){
        console.info(str);
    }
</script>

注意:在属性上绑定事件,是方法的调用,因此需要加()表示调用此方法,如果需要传入参数则写入准确的参数。此方法可以传参数

方式二(动态绑定)

  • 直接把方法名赋给属性。这种方式一般绑定不带参数的方法。如果给属性绑定带参数的方法,会默认传递事件对象。
<script>
    var odiv = document.getElementById(“div”);
    odiv.onclick = ck;//此处不能写成ck()
    function ck(){
        console.info("hello");
    }
</script>
  • 给属性定义匿名方法。这种方法不能传参数。
<script>
    var odiv = document.getElementById(“div”);
    odiv.onclick = function (){
        console.info("hello");
    }
</script>

以上两种方式如果一定要传参数只能这么干(目前我只想到了这种方式):

//定义一个传入参数的函数
function method(str){
    console.info(str);
}
//在匿名函数里面调用method函数,并传入参数
odiv.onclick = function(){
    method("hello");
};

猜你喜欢

转载自blog.csdn.net/xsp_happyboy/article/details/77942738