2

問題があります。

私は jQuery Mobile の世界では初心者で、ASP.Net MVC の部分で少し迷っています。

ここに私の問題があります:私のモバイルWebサイトでは、編集ページやホームなどにいるときに、ナビゲーションバー(アプリバーのように使用する)ボタンを変更したい....

したがって、これらのページ (編集、表示) は ajax で読み込まれ、これらのページで次のようなイベントを発生させようとしています。

$(document).ready(function(){
   alert("Hello !");
});

しかし、いくつかの調査の後、Ajaxを使用したJQMでは、イベントはそのようには機能しないことがわかりましたが、次のようになります:

$(document).bind('pageinit', function(){
   alert("Hello !");
});

しかし、これは私にはうまくいきません (ページ変更ごとにイベントがトリガーされます)。おそらく、ASP.Net MVC Mobile には 1 つしかなくdata-role="page"、残りのコンテンツは ajax で読み込まれるdata-role="content"ため、実際にはわかりません。 「Ajax Loaded Kind of Page」がロードされたときにイベントを発生させるにはどうすればよいですか?

これらのページのいずれかのリストビューでライブ/バインドしようとしましたが、どちらも機能しません:

$("[data-role='listview']").live('pageinit', function () {
    alert("hello");
});

私がやろうとしていることについてより正確に言うと、ASP.Net MVC では、私のレイアウト (すべてのページに共通) にdivwith adata-role="page"属性があります。このデータの役割は、私のすべてのアプリに固有のものであり、対処する必要があります。

<div data-role="page" >
<div data-role="content"> Here my ASP.Net MVC Page</div>
</div>

しかし、実際には、コードに他の ASP.Net MVC ページを $(document).bind('pagenit')ロードすると、data-role="content".

もし私の英語が本当に「理解できない」場合は、事前に感謝し、申し訳ありません.

4

1 に答える 1

0

Jquery Mobile は、AJAX を介してビューを取得し、表示します。これにより、AJAX 呼び出しであるため、一般的なイベントが失われます。

最良のオプションは、すべてのフォームで Ajax を無効にすることです。リダイレクトの呼び出しごとに言及する必要があります。

data_ajax = "偽"

通常の呼び出しになると、すべての Jquery イベントが正常に動作します。

于 2013-07-10T18:20:49.090 に答える