发布于 2015-08-12 15:58:13 | 1703 次阅读 | 评论: 0 | 来源: 网络整理
$.Event(type, [properties]) ⇒ event
创建并初始化一个指定的dom事件。如果properties参数给出,使用它来扩展出新的事件对象。默认情况下,事件被设置为冒泡方式;这个可以通过设置bubbles
为false
来关闭。
初始化的功能可以使用 trigger来触发。
$.Event('mylib:change', { bubbles: false });
$.proxy(fn, context) ⇒ function
$.proxy(context, property) ⇒ function
接受一个函数,然后返回一个新函数,并且这个新函数始终保持了特定的上下文语境,新函数中this
指向context参数。另外一种形式,原始的function是context对像的方法。
var obj = {name: 'Zepto'},
handler = function(){ console.log("hello from + ", this.name) }
// ensures that the handler will be executed in the context of `obj`:
$(document).on('click', $.proxy(handler, obj));
var
obj = {name: "yaotaiyang"
,
test: function
() {
alert( this
.name );
$("#test").unbind("click", obj.test);
}
};
$("#test").click( jQuery.proxy( obj, "test" ));
Deprecated, use on instead.
bind(type, function(e){ ... }) ⇒ self
bind({ type: handler, type2: handler2, ... }) ⇒ self
为一个元素绑定一个处理事件。
Deprecated, use on instead.
delegate(selector, type, function(e){ ... }) ⇒ self
delegate(selector, { type: handler, type2: handler2, ... }) ⇒ self
基于一组特定的根元素为所有选择器匹配的元素附加一个处理事件,匹配的元素可能现在或将来才创建。
Deprecated, use off instead.
die(type, function(e){ ... }) ⇒ self
die({ type: handler, type2: handler2, ... }) ⇒ self
删除通过 live 添加的事件。
Deprecated, use on instead.
live(type, function(e){ ... }) ⇒ self
live({ type: handler, type2: handler2, ... }) ⇒ self
类似delegate,其中selector参数为当前Zepto集合对象。
off(type, [selector], function(e){ ... }) ⇒ self
off({ type: handler, type2: handler2, ... }, [selector]) ⇒ self
off(type, [selector]) ⇒ self
off() ⇒ self
移除通过 on 注册的事件(用bind或者用on注册的事件)。如果没有参数,将移出当前元素上所有的注册事件。
off(type, [selector], function(e){ ... }) ⇒ self
如果selector存在,则相当于delegate。
$("ul").on("click","li",function(){alert("yaotaiyang")});
以上代码相当于将li的事件代理到ul上。后续添加的li也能拥有以上方法。该事件可以通过undelegate来移除。
$("ul").undelegate();
也可用:$("ul").off();
如果selector参数不存在。则相当于bind。
$("li").on("click",function(){alert("yaotaiyang")});
该事件可以通过unbind来移除。
$("li").unbind("click");
也可以用off()来移除:$("li").off();
on方法继集成bind和delegate方法。
on(type, [selector], function(e){ ... }) ⇒ self
on({ type: handler, type2: handler2, ... }, [selector]) ⇒ self
添加事件到Zepto对象集合上。多个事件可以通过空格的字符串方式添加。或者以事件类型、函数对象的 方式。如果css选择器给出,事件的对象满足选择器条件时。事件才会被触发。
事件处理程序在触发事件元素或者css选择器匹配的元素的上下文中执行(this指向触发事件的元素)。
当事件处理程序返回false
, 或调用preventDefault()
,浏览器的默认事件将会被阻止。
var elem = $('#content')
// observe all clicks inside #content:
elem.on('click', function(e){ ... })
// observe clicks inside navigation links in #content
elem.on('click', 'nav a', function(e){ ... })
// all clicks inside links in the document
$(document).on('click', 'a', function(e){ ... })
on(type, [selector], function(e){ ... }) ⇒ self
如果selector存在,则相当于delegate。
$("ul").on("click","li",function(){alert("yaotaiyang")});
以上代码相当于将li的事件代理到ul上。后续添加的li也能拥有以上方法。该事件可以通过undelegate来移除。
$("ul").undelegate();
也可用:$("ul").off();
如果selector参数不存在。则相当于bind。
$("li").on("click",function(){alert("yaotaiyang")});
该事件可以通过unbind来移除。
$("li").unbind("click");
也可以用off()来移除:$("li").off();
on方法继集成bind和delegate方法。
one(type, function(e){ ... }) ⇒ self
one({ type: handler, type2: handler2, ... }) ⇒ self
添加一个处理事件到元素。处理函数在每个元素上最多执行一次。
trigger(event, [data])
在Zepto对象集合的元素上触发指定的事件。事件可以是一个字符串,也可以是一个 $.Event 对象。如果data参数存在,它会作为参数传递给事件函数。
// add a handler for a custom event
$(document).on('mylib:change', function(e, from, to){
console.log('change on %o with data %s, %s', e.target, from, to)
})
// trigger the custom event
$(document.body).trigger('mylib:change', ['one', 'two'])
Zepto仅仅支持在dom元素上触发事件。
triggerHandler(event, [data]) ⇒ self
像 trigger,它只触发事件,但不冒泡。
比如你再一个input上如果使用该方法。
$("input").triggerHandler('focus');
// 此时input上的focus事件触发,但是input不会聚焦
$("input").trigger('focus');
// 此时input上的focus事件触发,input聚焦
Deprecated, use off instead.
unbind(type, function(e){ ... }) ⇒ self
unbind({ type: handler, type2: handler2, ... }) ⇒ self
移除通过 bind 注册的事件。
Deprecated, use off instead.
undelegate(selector, type, function(e){ ... }) ⇒ self
undelegate(selector, { type: handler, type2: handler2, ... }) ⇒ self
移除通过delegate 注册的事件。