zepto 基础知识(5)
81.width
width() 类型:number
width(value) 类型:self
width(function(index,oldWidth){....}) 类型:self
获取对象集合中第一个元素的宽,或者设置对象集合中所有元素的宽。
$('#foo').width() //123 $(window).width() //768 $(document).width() //768
82.wrap
wrap(structure) 类型:self
wrap(function(index){...}) 类型:self
在每个匹配的元素外层包上html 元素。structure参数可以在一个单独的元素或者一些嵌套的元素,
也可以是一个html字符串片段或者dome节点。还可以是一个生产用来包元素的回调函数,这个函数返回前两种类型的包裹片段。
// wrap each button in a separate span: $('.buttons a').wrap('<span>') // wrap each code block in a div and pre: $('code').wrap('<div class="highlight"><pre /></div>')
83.wrapAll
wrapAll(structure) 类型:self
在所有匹配元素外面包一个单独的结构,结构可以是单个元素或几个嵌套的元素,并且可以通过在
作为HTML 字符串或DOM节点。
// wrap all buttons in a single div: $('a.button').wrapAll('<div id=buttons />')
84.wraplnner
wrapInner(structure) 类型:self
wrapInner(function(index){})
将每个元素中的内容包裹在一个单独的结构中,结构可以是个元件或多个嵌套元件,并且可以通过
在作为HTML字符串或DOM 节点,或者是一个生成用来包元素的回调函数。这个函数返回前两种类型的包裹片段。
$('nav a').wrapInner('<span>')
$('ol li').wrapInner('<p></em>>></p>')
85.$.Event
$.Event(type,[properties]) 类型:event
创建并初始化一个指定的DOM事件。如果给定properties对象,使用它来扩展出新的事件对象。
默认情况下,事件被设置为冒泡方式,这个可以通过设置bubbles为false来关闭。
$.Event('mylib:change',{bubbles:false})
86.$proxy
$.proxy(fn,context) 类型:function
$.proxy(fn,context,[additionalArguments...]) 类型:function
$.proxy(context,propery) 类型:function
$.proxy(context,property,[additionalArguments...]) 类型:function
接受一个函数,然后返回一个新函数,并且这个新函数始终保持了特定的上下文(context)语境
新函数中this 指向context参数,另一种形式,原始的function是从上下文(context)对象的特定属性读取。
如果传递超过2个的额外参数,它们被用于 传递给fn参数的函数 引用。
var obj = {name:'Zepto'} handler = function(){console.log("hello from+",this.name)} $(document).on('click',$.proxy(handler,obj))
87.bind
bind(type,function(e){....}) 类型:self
bind(type,[data],functon(e){...}) 类型:self
bind(type:handler,type2:handler2,....) 类型:self
bind(type:handler,type2:handler2,....) 类型:self
为一个元素绑定一个处理事件。
88.delegate
delegate(sekector,type,function(e){...}) 类型;self
delegate(selector,{type:handler,type2:handler2,....}) 类型; self
基于一组特定的根元素为所有选择器匹配的元素附加一个处理事件,匹配的元素可能现在货将来才创建。
89.die
die(type,function(e){...}) 类型 self
die({type:handler,type2:handler2,....}) 类型;self
删除通过live添加的事件。
90.event.isDefaultPrevented
event.isDefaultPrevented() 类型:boolean
如果preventDefaultPrevented()被该事件的实例调用,那么返回true,这可作为跨平台的替代
原生的defaultPrevented属性,如果defaultPrevented缺失或在某些浏览器下不可靠的时候。
var event = $.Event('custom') element.trigger(event) event.isDefaultPrevented()
91.event.islmmediaPropagationStopped() 类型:boolean
如果stopImmediatePropagationStopped()被该事件的实例调用,那么返回true。Zepto在不
支持该原生方法的浏览器中实现。(例如老版本的Android)。
92.event.isPropagationStopped
event.isPropagationStopped() 类型boolean
如果stopPropagation()被该事件的实例调用,那么返回true
93.live 不推荐, 使用 on 代替。
live(type,function(e){...}) 类型 self
live({type:handler,type2:handler2,...}) 类型 self
添加一个个事件处理器到符合目前选择器的所有元素匹配,匹配的元素可能在或将来才创建。
94.off
off(type,[selector,function(e){...}]) 类型;self
off({type:handler,type2:handler2...},[selector]) 类型 self
off(type,[selector]) 类型 ;self
off() 类型 self
移除通过 on 添加的事件.移除一个特定的事件处理程序, 必须通过用on()添加的那个相同的函数。否则,只通过事件类型调用此方法将移除该类型的所有处理程序。
如果没有参数,将移出当前元素上全部的注册事件。
95.on
on(type, [selector], function(e){ ... }) ⇒ self
on(type, [selector], [data], function(e){ ... }) ⇒ self v1.1+
on({ type: handler, type2: handler2, ... }, [selector]) ⇒ self
on({ type: handler, type2: handler2, ... }, [selector], [data]) ⇒ self v1.1+
添加事件处理程序到对象集合中得元素上。多个事件可以通过空格的字符串方式添加,或者以事件类型为键、以函数为值的对象 方式。如果给定css选择器,当事件
在匹配该选择器的元素上发起时,事件才会被触发(愚人码头注:即事件委派,或者说事件代理)。
如果给定data参数,这个值将在事件处理程序执行期间被作为有用的 event.data 属性
事件处理程序在添加该处理程序的元素、或在给定选择器情况下匹配该选择器的元素的上下文中执行(愚人码头注:this指向触发事件的元素)。 当一个事件
理程序返回false,preventDefault() 和 stopPropagation()被当前事件调用的情况下, 将防止默认浏览器操作,如链接。
如果false 在回调函数的位置上作为参数传递给这个方法, 它相当于传递一个函数,这个函数直接返回false。(愚人码头注:即将 false 当作 function(e){ ... } 的参
数,作为 function(){ return false; } 的简写形式,例如: $("a.disabled").on("click", false);这相当于$("a.disabled").on("click", function(){ return false; } );)
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){ ... }) // disable following any navigation link on the page $(document).on('click', 'nav a', false)
96.one
one(type, [selector], function(e){ ... }) ⇒ self
one(type, [selector], [data], function(e){ ... }) ⇒ self v1.1+
one({ type: handler, type2: handler2, ... }, [selector]) ⇒ self
one({ type: handler, type2: handler2, ... }, [selector], [data]) ⇒ self v1.1+
添加一个处理事件到元素,当第一次执行事件以后,该事件将自动解除绑定,保证处理函数在每个元素上最多执行一次。selector 和 data 等参数说明请查看.on()。
97.trigger
trigger(event,[args]) 类型:self
在对象集合的元素上触发指定的事件,事件可以是一个字符串类型,也可以是一个通过$.Event定义的
事件对象,如果给定args参数,它作为参数传递给事件函数。
$(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'])
98.triggerHandler
triggerHandler(event,[args]) 类型 self
像trigger,它只在当前元素上触发事件,但不冒泡。
$("input").triggerHandler('focus'); // 此时input上的focus事件触发,但是input不会获取焦点 $("input").trigger('focus'); // 此时input上的focus事件触发,input获取焦点
99.unbind
unbind(type,function(e){...}) 类型:self
unbind({type:handler,type1:handler2,...}) 类型:self
移除通过bind注册的事件。
100.undelegate
undelegate(selector,type,function(e){...}) 类型 self
undelegate(selector,{type:handler,type2:hander2,....}) 类型:self
移除通过delegate 注册的事件。