jQuery自定义事件和jQuery.extend


jQuery自定义事件:

trigger(type,[data]):

type (String,Event,Object) : 一个事件对象或者要触发的事件类型;

data (Array) : (可选)传递给事件处理函数的附加参数;

$("p").click( function (event, a, b) { 
  // 一个普通的点击事件时,a和b是undefined类型 
  // 如果用下面的语句触发,那么a指向"foo",而b指向"bar" 
} ).trigger("click", ["foo", "bar"]); $("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:

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但不修改:

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

相关内容