0

コアのjQuerymobile関数をオーバーライドするのに苦労しています。使用しているJQMライブラリImへのリンクは次のとおりです:http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.js

5873行目を変更しました

.appendTo( wrapper )

次のコードに:

.appendTo( *My own code*  )

しかし、JQMライブラリ内で直接コードを変更することは、私が必要としていることを達成するための最良の方法ではないことを認識しています。そこで、カスタムjsファイルをオーバーライドしたいと思います。最小限のJQMlibコードをオーバーライドするには、どうすればよいですか?前もって感謝します。

4

3 に答える 3

1

そのコードは委任されたイベント ハンドラー内にあるため、そのイベント ハンドラーを外部ファイルからの独自のイベント ハンドラーで上書きできます。

行 5788 から 5884 (ほとんどのコードが編集されています):

$( document ).delegate( ":jqmData(role='listview')", "listviewcreate", function() {
    ...
        .appendTo( wrapper )
    ...
});

したがって、外部 JS コードでは、このイベント ハンドラーを削除して、独自のイベント ハンドラーをアタッチできます。

$(document).undelegate(":jqmData(role='listview')", "listviewcreate").delegate(":jqmData(role='listview')", "listviewcreate", function () {
    //your version of the above code here
});

jQuery 1.7 以降を使用している場合は、 .delegate()andを/.undelegate()に置き換える必要があることに注意してください。.on().off()

于 2012-09-28T16:28:50.113 に答える
0

jqueryが初期化された後にこのコードを試してください

jQuery.fn.extend({append: function() { **Your code here** } });
于 2012-09-28T14:27:52.367 に答える
0

jQuery をロードした後、jQuery モバイルを取り込む前に、カスタム JavaScript ファイルを含めるだけです。

<script src="jquery.js"></script>  
<script src="custom-scripting.js"></script>  
<script src="jquery-mobile.js"></script>
于 2012-09-28T23:36:50.330 に答える