在jQuery中,我們經常需要為元素綁定事件,并在事件觸發(fā)時進行相應的操作。同時,我們還需要從事件處理函數中獲取數據,在之前的版本中可以通過event.data屬性實現,但在新版的jQuery中,我們可以使用on()事件傳值的方式來完成這個操作。
下面我們來看一個簡單的例子:
$("button").on("click", {name:"Lily", age:20}, function(event){
console.log(event.data.name);
console.log(event.data.age);
});
在這個例子中,我們綁定了一個click事件,并傳入一個包含name和age兩個屬性的對象。在事件處理函數中我們通過event.data來獲取傳入的數據。
另外如果我們需要動態(tài)生成元素,同時需要為其綁定事件,也可以使用on()事件傳值的方式。如下:
$("div").on("click", "p", {name:"Lily", age:20}, function(event){
console.log(event.data.name);
console.log(event.data.age);
});
在這個例子中,我們?yōu)閐iv元素下的p元素綁定了一個click事件,并傳入一個包含name和age兩個屬性的對象。注意這里第二個參數為"p",表示僅對p元素生效。
這種方式可以方便地傳值,并且避免了在事件處理函數中調用全局變量的情況出現。