0

完全に動的な「jquery モバイル」「テーブル ウィジェット」を作成しようとしています。

問題は、JQM がこれを使用してさまざまな「テーブルモード」を作成していることです。

$.mobile.document.delegate( ":jqmData(role='table')", "tablecreate", function(e) {
    // some magic happens here
});

":jqmData(role='table')"テーブルの自動拡張を防ぐために、ソース コードの準備ができるまでトリガー属性を除外します。次に、属性を追加してこれを呼び出します。

// tbody
target                   
    .empty()
    .append(allRows)
    // this enhances elements inside table rows
    .trigger("create")   
    .closest('table')
    // add triggering attribute
    .jqmData('role', 'table')
    // enhance the table (step 1 of 2)
    .table({
       create: function( event, ui ) {}
    })

これは、テーブルに必要な属性が含まれているため、途中でしか取得できませんが、それ":jqmData(role='table')"をトリガーできないようですtablecreate

私は試した

    .trigger('tablecreate')
    .table({
       tablecreate: function( event, ui ) {}
    })

しかし、それらはすべて何もしないので、私の要素がデリゲート イベント バインディングによってキャッチされていないと仮定します (これも間違っている可能性があります)。

質問:
純粋な jquery では、時間 X でトリガー属性を動的に追加するときに、デリゲート ハンドラーに要素を含めることは可能ですか?

入力していただきありがとうございます!

4

1 に答える 1

0

Ok。自分で見つけました:

問題は:

 .jqmData('role', 'table')

data-role="table"これを呼び出すときに が設定されないため、常に機能するとは限りません。

私は次のことを試しました:

 .attr('data-role', 'table')

属性が設定され、テーブル拡張が正しく機能しました。

たぶん、他の誰かにも役立ちます!

于 2013-03-13T17:00:50.727 に答える