jQuery自定義事件和jQuery.extend

自定義事件:

trigger(type,[data]):

     type (String,Event,Object) : 一個事件對象或者要觸發的事件類型;

     data (Array) : (可選)傳遞給事件處理函數的附加參數;

 

[javascript]  $("p").click( function (event, a, b) { 
  // 一個普通的點擊事件時,a和b是undefined類型 
  // 如果用下面的語句觸發,那麼a指向"foo",而b指向"bar" 
} ).trigger("click", ["foo", "bar"]);  

 

[javascript]  $("ul").bind("myclick",function(event, prarm){ 
    alert(prarm.data[0]); 
}); 
 
$("input[type=button]").bind("click",{"uname":"zhangsan","age":50},function(){ 
    if(arguments[0].data.age>=50){ 
        $("ul").trigger("myclick",{"data":["name","zhangsan"]}); 
    } 
}); 

擴展:

jQuery.extend([deep],target,obj1,[objN]):

deep (可選) (Object) : 如果設為true,則遞歸合並。
target (Object) : 待修改對象。
object1 (Object) : 待合並到第一個對象的對象。
objectN (Object) : (可選) 待合並到第一個對象的對象。

合並 settings 和 options,修改並返回 settings:

 

[javascript]  var settings = { validate: false, limit: 5, name: "foo" }; 
var options = { validate: true, name: "bar" }; 
var news=jQuery.extend(settings, options); 
alert(settings.validate); 

 

合並 settings 和 options,返回 settings但不修改:
[javascript]  var settings = { validate: false, limit: 5, name: "foo" }; 
var options = { validate: true, name: "bar" }; 
var news=jQuery.extend({},settings, options); 
alert(settings.validate); 

 

 

摘自 Tender

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *