我可以将哪些事件附加到jQuery的on()函数中?

时间:2012-08-30 23:55:42

标签: javascript jquery

除了click,mouseover和mouseleave之外,jQuery的on()函数还有其他事件,还是on()的主要用途?我找不到任何文件。

5 个答案:

答案 0 :(得分:5)

您可以使用内置DOM事件,也可以创建自己的事件。以下是一些内置DOM事件的列表(所有类型的对象都不会发生所有事件):

  • 点击
  • DBLCLICK
  • 鼠标按下
  • 鼠标松开
  • 鼠标悬停
  • 鼠标移动
  • 鼠标移开
  • KEYDOWN
  • KEYUP
  • 按键
  • 负载
  • 卸载
  • 中止
  • 错误
  • 调整大小
  • 滚动
  • 选择
  • 变化
  • 提交
  • 重置
  • 焦点
  • 模糊
  • 的focusIn
  • 事件的内容
  • touchstart
  • touchend
  • touchmove
  • TouchEnter在
  • touchleave
  • touchcancel
  • 复制
  • beforecut
  • beforecopy
  • beforepaste
  • 文本菜单
  • 的dragstart
  • 的dragenter
  • 的dragover
  • dragleave
  • dragend
  • 选择开始
  • beforeunload
  • readystatechange
  • beforeprint
  • 打印后

请参阅http://en.wikipedia.org/wiki/DOM_events,了解其中大部分内容。

答案 1 :(得分:1)

on()可以用于任何事情。它只是一种将事件委托给特定DOM元素的方法。

结帐:http://api.jquery.com/on/ 它将告诉您如何将bind,live,delegate函数“转换”为新的“on”方法。

答案 2 :(得分:1)

除了Parris anwser,你可以做到

$("#whatever").on("my.awesome_event", function(event, one, two, three){
    // stuff ...
});

$("#whatever").trigger("my.awesome_event", [1,2,3]);

在此示例中,变量one, two, three的值为1, 2, 3

答案 3 :(得分:0)

您可以使用任何内置事件(更改,焦点,模拟,模糊,触摸启动等等),或者您可以创建自己的事件并将其绑定!

答案 4 :(得分:0)

我将jQuery用于内置DOM事件,例如更改,点击,模糊等,以及我自己在类中的自定义事件。对于我想要自定义事件的大多数课程,我会这样做:

this.events = $({});

然后我可以绑定这样的自定义事件:

foo.events.on("myCustomEvent", function(e) {
     // Do something
});

我可以这样触发:

this.events.triggerHandler("myCustomEvent");