2012-11-12 29 views
4

我想知道如何在jquery-ui可排序的Widget中生成事件?如何在jquery-ui中生成事件生成

例如。让我们参加活动beforeStop。 我的问题是:

  1. 为什么它使用this._trigger("stop", event, this._uiHash());,而不是this.trigger("stop", event, this._uiHash());

  2. _trigger功能是什么?

+0

这两个是不同的函数'.trigger',因为你知道它用于触发任何事件,它被暴露为jQuery函数..其中'_trigger'似乎是jQuery UI使用的内部函数,不直接暴露。 –

回答

3

_trigger()是一种由所有jQuery UI小部件继承的方法。它调用jQuery的自己trigger()引擎盖下,但增加了以下功能:

  • 本次活动将一直元素中的小部件增强部(事件对象的target属性会相应更新)上被触发。

  • 触发的事件在其名称前面加上了小部件前缀(例如,在可排序小部件上调用_trigger("stop")实际上会触发sortstop事件)。

  • 如果其中一个注册处理程序返回false或在事件上调用preventDefault(),该函数返回false

您可以找到从源代码here线476至503的全面实施_trigger()

+1

只是想让弗雷德里克知道他使用的链接已经死了。 – userfuser

+0

@userfuser,这就是我得到的首先链接到github,我想。感谢您的领导:) –