现在的位置: 首页 > 综合 > 正文

jQuery自定义事件和jQuery.extend

2013年09月29日 ⁄ 综合 ⁄ 共 1003字 ⁄ 字号 评论关闭

自定义事件:

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);

抱歉!评论已关闭.