jQuery bind() 方法使用详解

$(selector).bind(event,data,function)


以下是官网上的例子:
event对应的事件:可以添加多个
$("button").bind({
    click:function(){$("p").slideToggle();},
    mouseover:function(){$("body").css("background-color","red");},  
    mouseout:function(){$("body").css("background-color","#FFFFFF");}  
  });
或者绑定一个:
$("button").bind("click",function(){
  $("p").hide();
});


在工作中遇到了要给绑定的fun传参,一开始我是这样写的
$("button").bind("click",funName(参数)});
在打开页面的时候直接执行了绑定的方法,问了前端的小伙伴才知道方法名+()是要直接执行的;
我就去官网看了bind的说明,就看到了data这个参数,使用时是这样的


$("#1").bind("click",{"msg":1},funName)


function funName(even){//even是一个对象
alert(even.data.msg);
}


当然我一开始是$("#1").bind("click",1,funName)这样写的。。。;找了几个微博,发现它会把data(你要传递的参数)放到方法中形参的data中
我个人理解为data必须是一个对象,在对象的属性中定义你想传递的数值
使用 Ajax 发送异步请求时,我们通常需要监听请求的不同阶段,例如请求开始、请求成功、请求失败等,这就需要用到事件绑定。jQuery 提供了 bind() 方法来实现事件绑定。 bind() 方法可以为指定的元素绑定一个或多个事件处理函数,当指定的事件发生时,这些处理函数将会被依次执行。 下面是 bind() 方法的语法: ``` $(selector).bind(event, data, function(eventObject)) ``` 其中,参数 event 表示要绑定的事件名称,如 click、mouseover 等;参数 data 表示传递给事件处理函数的额外数据;参数 function(eventObject) 表示事件处理函数,其中 eventObject 表示事件对象。 下面是一个简单的例子,演示如何使用 bind() 方法监听 Ajax 请求的不同阶段: ``` $.ajax({ url: "test.html", beforeSend: function() { $("#loading").show(); }, success: function(result) { $("#content").html(result); }, error: function(jqXHR, textStatus, errorThrown) { alert("请求失败:" + textStatus + " - " + errorThrown); }, complete: function() { $("#loading").hide(); } }); ``` 在上面的例子中,beforeSend、success、error 和 complete 分别对应了 Ajax 请求的不同阶段,我们可以为这些阶段绑定对应的事件处理函数,实现更加精细的控制。 另外,bind() 方法还可以绑定自定义事件,例如: ``` $(document).bind("myEvent", function(event, arg1, arg2) { console.log(arg1 + " - " + arg2); }); $(document).trigger("myEvent", ["Hello", "world"]); ``` 在上面的例子中,我们定义了一个名为 myEvent 的自定义事件,并且绑定了一个事件处理函数,当该事件被触发时,该处理函数将会被执行。我们可以通过 trigger() 方法手动触发该事件,并传递额外的参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值