2012-11-12 31 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,我想。感謝您的領導:) –