事件

off

  • off(type, [selector], function(e){ ... }) ⇒ self
  • off({ type: handler, type2: handler2, ... }, [selector]) ⇒ self
  • off(type, [selector]) ⇒ self
  • off() ⇒ self

移除通过 on 添加的事件.移除一个特定的事件处理程序, 必须通过用on()添加的那个相同的函数。否则,只通过事件类型调用此方法将移除该类型的所有处理程序。如果没有参数,将移出当前元素上全部的注册事件。

on

  • on(type, [selector], function(e){ ... }) ⇒ self
  • on(type, [selector], [data], function(e){ ... }) ⇒ self
  • on({ type: handler, type2: handler2, ... }, [selector]) ⇒ self
  • on({ type: handler, type2: handler2, ... }, [selector], [data]) ⇒ self

添加事件处理程序到对象集合中得元素上。多个事件可以通过空格的字符串方式添加,或者以事件类型为键、以函数为值的对象 方式。如果给定css选择器,当事件在匹配该选择器的元素上发起时,事件才会被触发(注:即事件委派,或者说事件代理)。

如果给定data参数,这个值将在事件处理程序执行期间被作为有用的 event.data 属性

事件处理程序在添加该处理程序的元素、或在给定选择器情况下匹配该选择器的元素的上下文中执行(注:this指向触发事件的元素)。 当一个事件处理程序返回false,preventDefault() 和 stopPropagation()被当前事件调用的情况下, 将防止默认浏览器操作,如链接。

  1. var elem = $('#content')
  2. // observe all clicks inside #content:
  3. elem.on('click', function(e){ ... })
  4. // observe clicks inside navigation links in #content
  5. elem.on('click', 'nav a', function(e){ ... })
  6. // all clicks inside links in the document
  7. $('#test').on('click', 'a', function(e){ ... })
  8. // disable following any navigation link on the page
  9. $('#test').on('click', 'nav a', false)

one

  • one(type, [selector], function(e){ ... }) ⇒ self
  • one(type, [selector], [data], function(e){ ... }) ⇒ self
  • one({ type: handler, type2: handler2, ... }, [selector]) ⇒ self
  • one({ type: handler, type2: handler2, ... }, [selector], [data]) ⇒ self

on() 一样,添加一个处理事件到元素,当第一次执行事件以后,该事件将自动解除绑定,保证处理函数在每个元素上最多执行一次。

trigger

  • trigger(event, [args]) ⇒ self

在对象集合的元素上触发指定的事件。如果给定args参数,它会作为参数传递给事件函数。

  1. $('#test').trigger('tap', ['one', 'two'])

triggerHandler

  • triggerHandler(event, [args]) ⇒ self

trigger 一样,它只在当前元素上触发事件,但不冒泡。