0

jQuery ウィジェット ファクトリを使用してプラグインを作成しようとしています。私は、ui.sortableウィジェットを実装したい単純なツリービュープラグインを作成中です。そのために、次のようなことを行います:

(function ($) {
    $.widget("cms.treeview", $.ui.sortable, {
        // Default options.
        options: {
            useSorting: false
        },

        // Default constructor.
        _create: function(){
            // creating treeview code goes here

            // if useSorting is set to true set sorting
            if (this.options.useSorting){
                // HOW WOULD I CALL THE SORTING HERE
            }
        U
    });
})(jQuery)

$.widget("cms.treeview", $.ui.sortable, { }); に ui.sortable を追加すると、宣言 並べ替え可能なウィジェットからすべてのオプションを取得しますが、コードでそれを呼び出して、必要なものがすべて揃っていることを確認するにはどうすればよいですか?

/マーティン

4

2 に答える 2

0

一般的な原則として、ウィジェットが互いに認識し合うのは良くないように思えます。通常、それが「関数としてのオプション」が使用されるものです。たとえば、ここでは 2 つのウィジェットが通信していることがわかります: http://msdn.microsoft.com/en-us/library/hh404085.aspx

したがって、あなたの例では、「makeMeSortable」という名前のオプションを1つセットアップすることです。

// Default options.
options: {
useSorting: false,
makeMeSortable:$.noop
}

次に、次のようにします。

if (this.options.useSorting){
// HOW WOULD I CALL THE SORTING HERE
this._trigger('makeMeSortable', null, { elementToBeSortable: this.yourElementToSort})
}

最後に、ウィジェットのインスタンスを作成するときに、関数を makeMeSortable オプションに割り当てます。その関数は、並べ替えられる要素を受け取り、ui.sortable ウィジェットを呼び出します。

于 2013-09-11T23:55:02.110 に答える