### 返回值:jQueryoff(events,[selector],[fn])
### 概述
在選擇元素上移除一個或多個事件的事件處理函數。
off()?方法移除用[.on()](http://api.jquery.com/on)綁定的事件處理程序。有關詳細信息,請參閱該網頁上delegated和directly綁定事件。特定的事件處理程序可以被移除元素上提供事件的名稱,命名空間,選擇器,或處理函數名稱的組合。**當有多個過濾參數,所提供的參數都必須匹配的事件處理程序被刪除。**
如果一個簡單的事件名稱,比如提供"click",*所有*?這種類型的事件(包括直接和委派)從jQuery設置的元素上刪除。當編寫代碼,將作為一個插件使用,或者干脆當一個大的代碼基礎工作,最好的做法是安裝和取下使用命名空間的事件,從而使代碼不會無意中刪除其他代碼附加事件處理程序。在一個特定的命名空間中的所有類型的所有事件,可以從一個元素中刪除,只是提供了一個命名空間,比如?".myPlugin"。至少,無論是命名空間或事件名稱必須提供。
要刪除特定的委派事件處理程序,提供一個selector?的參數。選擇器字符串必須是完全匹配遞到.on()事件處理程序附加的選擇器。要刪除非委托元素上的所有事件,使用特殊值?"**"?。
處理程序也可以刪除handler參數指定名稱的函數。當jQuery的綁定一個事件處理程序,它分配一個唯一的ID給處理函數。函數用[jQuery.proxy()](http://api.jquery.com/jQuery.proxy)代理或類似有相同的唯一ID機制(代理函數),因此,通過代理處理程序.off?可能會刪除比預期更多的處理程序。在這些情況下,最好是附加和移除事件處理程序,使用命名空間。
和.on()一樣,你可以傳遞一個?events-map>參數明確的指定而不是用events?和?handler作為單獨參數。鍵事件和/或命名空間;值是處理函數或為false的特殊價值。
### 參數
#### **events,[selector],[fn]***V1.7*
**events**:一個或多個空格分隔的事件類型和可選的命名空間,或僅僅是命名空間,比如"click", "keydown.myPlugin", 或者 ".myPlugin".
**selector**:一個最初傳遞到.on()事件處理程序附加的選擇器。
**fn**:事件處理程序函數以前附加事件上,或特殊值false.
#### **events-map,[selector]***V1.7*
**events-map**:一個用字符串表示的,一個或多個空格分隔的事件類型和可選的命名空間,值表示先前事件綁定的處理函數。
**selector**:一個最初傳遞到.on()事件處理程序附加的選擇器。
### 示例
#### 描述:
Remove all event handlers from all paragraphs:
~~~
$("p").off()
~~~
Remove all delegated click handlers from all paragraphs:
~~~
$("p").off( "click", "**" )
~~~
Remove just one previously bound handler by passing it as the third argument:
~~~
var foo = function () {
// code to handle some kind of event
};
// ... now foo will be called when paragraphs are clicked ...
$("body").on("click", "p", foo);
// ... foo will no longer be called.
$("body").off("click", "p", foo);
~~~
Unbind all delegated event handlers by their namespace:
~~~
var validate = function () {
// code to validate form entries
};
// delegate events under the ".validator" namespace
$("form").on("click.validator", "button", validate);
$("form").on("keypress.validator", "input[type='text']", validate);
// remove event handlers in the ".validator" namespace
$("form").off(".validator");
~~~
- 速查表
- 核心
- jQuery(selector,[context])
- jQuery(html,[ownerDocument])
- jQuery(callback)
- jQuery.holdReady(hold)
- each(callback)
- size()
- length
- selector
- context
- get([index])
- index([selector|element])
- data([key],[value])
- removeData([name|list])
- jQuery.data(element,[key],[value])
- queue(element,[queueName])
- dequeue([queueName])
- clearQueue([queueName])
- jQuery.noConflict([extreme])
- 選擇器
- #id
- element
- .class
- *
- selector1,selector2,selectorN
- ancestor descendant
- parent > child
- prev + next
- prev ~ siblings
- :first
- :last
- :not(selector)
- :even
- :odd
- :eq(index)
- :gt(index)
- :lt(index)
- :header
- :animated
- :focus
- :contains(text)
- :empty
- :has(selector)
- :parent
- :hidden
- :visible
- [attribute]
- [attribute=value]
- [attribute!=value]
- [attribute^=value]
- [attribute$=value]
- [attribute*=value]
- [selector1][selector2][selectorN]
- :nth-child
- :first-child
- :last-child
- :only-child
- :input
- :text
- :password
- :radio
- :checkbox
- :submit
- :image
- :reset
- :button
- :file
- :enabled
- :disabled
- :checked
- :selected
- 屬性
- attr(name|pro|key,val|fn)
- removeAttr(name)
- prop(name|pro|key,val|fn)
- removeProp(name)
- addClass(class|fn)
- removeClass([class|fn])
- toggleClass(class|fn[,sw])
- html([val|fn])
- text([val|fn])
- val([val|fn|arr])
- 篩選
- eq(index|-index)
- first()
- last()
- hasClass(class)
- filter(expr|obj|ele|fn)
- is(expr|obj|ele|fn)
- map(callback)
- has(expr|ele)
- not(expr|ele|fn)
- slice(start, [end])
- children([expr])
- closest(expr,[con]|obj|ele)
- find(expr|obj|ele)
- next([expr])
- nextAll([expr])
- nextUntil([exp|ele][,fil])
- parent([expr])
- parents([expr])
- parentsUntil([exp|ele][,fil])
- prev([expr])
- prevAll([expr])
- prevUntil([exp|ele][,fil])
- siblings([expr])
- add(expr|ele|html|obj[,con])
- andSelf()
- contents()
- end()
- 文檔處理
- append(content|fn)
- appendTo(content)
- prepend(content|fn)
- prependTo(content)
- after(content|fn)
- before(content|fn)
- insertAfter(content)
- insertBefore(content)
- wrap(html|ele|fn)
- unwrap()
- wrapAll(html|ele)
- wrapInner(html|ele|fn)
- replaceWith(content|fn)
- replaceAll(selector)
- empty()
- remove([expr])
- detach([expr])
- clone([Even[,deepEven]])
- CSS
- css(name|pro|[,val|fn])
- offset([coordinates])
- position()
- scrollTop([val])
- scrollLeft([val])
- height([val|fn])
- width([val|fn])
- innerHeight()
- innerWidth()
- outerHeight([options])
- outerWidth([options])
- 事件
- ready(fn)
- on(events,[selector],[data],fn)
- off(events,[selector],[fn])
- bind(type,[data],fn)
- one(type,[data],fn)
- trigger(type,[data])
- triggerHandler(type,[data])
- unbind(type,[data|fn])
- live(type,[data],fn)
- die(type,[fn])
- delegate(sel,[type],[data],fn)
- undelegate([sel,[type],fn])
- hover([over,]out)
- toggle(fn, fn2, [fn3, fn4, ...])
- blur([[data],fn])
- change([[data],fn])
- click([[data],fn])
- dblclick([[data],fn])
- error([[data],fn])
- focus([[data],fn])
- focusout([data],fn)
- keydown([[data],fn])
- keypress([[data],fn])
- keyup([[data],fn])
- mousedown([[data],fn])
- mouseenter([[data],fn])
- mouseleave([[data],fn])
- mousemove([[data],fn])
- mouseout([[data],fn])
- mouseover([[data],fn])
- mouseup([[data],fn])
- resize([[data],fn])
- scroll([[data],fn])
- select([[data],fn])
- submit([[data],fn])
- unload([[data],fn])
- 效果
- show([speed,[easing],[fn]])
- hide([speed,[easing],[fn]])
- slideDown([speed],[easing],[fn])
- slideUp([speed,[easing],[fn]])
- slideToggle([speed],[easing],[fn])
- fadeIn([speed],[easing],[fn])
- fadeOut([speed],[easing],[fn])
- fadeTo([[speed],opacity,[easing],[fn]])
- fadeToggle([speed,[easing],[fn]])
- animate(param,[spe],[e],[fn])
- stop([cle],[jum])
- delay(duration,[queueName])
- jQuery.fx.off
- jQuery.fx.interval
- Ajax
- jQuery.ajax(url,[settings])
- load(url,[data],[callback])
- jQuery.get(url,[data],[callback],[type])
- jQuery.getJSON(url,[data],[callback])
- jQuery.getScript(url,[callback])
- jQuery.post(url,[data],[callback],[type])
- ajaxComplete(callback)
- ajaxError(callback)
- ajaxSend(callback)
- ajaxStart(callback)
- ajaxStop(callback)
- ajaxSuccess(callback)
- jQuery.ajaxSetup([options])
- serialize()
- serializeArray()
- 工具
- jQuery.support
- jQuery.browser
- jQuery.browser.version
- jQuery.boxModel
- jQuery.each(object,[callback])
- jQuery.extend([deep],target,object1,[objectN])
- jQuery.grep(array,callback,[invert])
- jQuery.makeArray(obj)
- jQuery.map(array, callback)
- jQuery.inArray(val,arr,[from])
- jQuery.toArray()
- jQuery.sub()
- jQuery.when(deferreds)
- jQuery.merge(first,second)
- jQuery.unique(array)
- jQuery.parseJSON(json)
- jQuery.noop
- jQuery.proxy(function,context)
- jQuery.contains(container, contained)
- jQuery.isArray(obj)
- jQuery.isFunction(obj)
- jQuery.isEmptyObject(obj)
- jQuery.isPlainObject(obj)
- jQuery.isWindow(obj)
- jQuery.isNumeric(value)
- jQuery.type(obj)
- jQuery.trim(str)
- jQuery.param(obj,[traditional])
- jQuery.error(message)
- Deferred
- def.done(donCal,[donCal])
- def.fail(failCal)
- def.isRejected()
- def.isResolved()
- def.reject(args)
- def.rejectWith(context,[args])
- def.resolve(args)
- def.resolveWith(context,args)
- def.then(doneCal,failCal)
- def.progress([type],[target])
- def.pipe([donFil],[faiFil],[proFil])
- def.always(alwCal,[alwCal])
- def.notify(args)
- def.notifyWith(context,[args])
- def.state()
- Callbacks
- callbacks.add(callbacks)
- callbacks.disable()
- callbacks.empty()
- callbacks.fire(arguments)
- callbacks.fired()
- callbacks.fireWith([context][,args])
- callbacks.has(callback)
- callbacks.lock()
- callbacks.locked()
- callbacks.remove(callbacks)
- jQuery.callbacks(flags)
- 關于
- 關于jQuery API 文檔
- 提交bug及獲取更新
- 其它
- HTML5速查表
- 正則表達式速查表