JS绑定事件,传递参数

绑定事件的两种方式

1. 方式一(在属性上绑定事件)
<div οnclick=“ck('hello')” id=“div”></div> 
<script> 
    function ck(str){ 
        console.info(str); 
    } 
</script>
注意:在属性上绑定事件,是方法的调用,因此需要加()表示调用此方法,如果需要传入参数则写入准确的参数。此方法可以传参数
 
2. 方式二(动态绑定)动态绑定不能传递参数
  • 直接把方法名赋给属性。这种方式一般绑定不带参数的方法。如果给属性绑定带参数的方法,会默认传递事件对象。
<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>
 

解决动态绑定不能传递参数问题

var div=document.getElementById('div1');
div.onclik=function () { 
    fun("此处传入实参"); 
}
function fun(arg){
    alert(arg);
}
 

需要注意的是:

临时定义的这个函数中 this指的是div对象, 所以我们想传入div对象时使用 this就可以了
 
change事件绑定示例:为table表格中每一个input绑定change事件
window.onload = function(){
    var trNode = $(".contentTr");
    $.each(trNode,function(index,value){
       var inputNode = $(value).find("input");
       $.each(inputNode,function(i,val){
           val.onchange = function(){
               check(this);//这里this表示val这个input节点对象    
           }
           //如果不需要传递参数,可以直接val.onchange = check;
       }); 
    });
}
 
function check(ele){
    console.log(ele.value);//这里输出就是我们改变input单元格的值
}
 
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值