1

JQMとJSFを使用しています。ページで、ah:commondbutton をトリガーした後、アクションが文字列 null を再実行すると、ページが更新され、スクリプトが機能しなくなります。Ready 関数とモバイル pageinit 関数にブレークポイントを設定しましたが、どれも機能しません。jquerymobile ライブラリを削除すると動作します。これについての任意のアイデア..

<script src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
  //<![CDATA[
  $(document).on('mobileinit', function() {
    $.mobile.defaultPageTransition = 'slide';
    $.mobile.hashListeningEnabled = false;
  });
  //]]>
</script>        
<script src="js/jquery.mobile-1.2.0.js"></script>



   $(document).ready(function(){
    //some codes here
});


<div data-role="page" id="page1" >
     <script type="text/javascript">

        $('#page1').live('pageinit', function() {  

     $("#getNewValuesLinkId").bind('click', function() {   
       $("#getnewValues").trigger("click");//this jsf button
       });    

  });


</div>

jsf h:commonbutton 処理して null 文字列 "" を返します。ページが更新され、スクリプトが機能しなくなります。

4

2 に答える 2

1

同様の問題を経験しました。$(document).ready や $(document).on ではなく、スクリプト タグに直接 Javascript コードを挿入してみてください。

たとえば、これではありません:

<script>
    $(document).on('mobileinit', function() {
    $.mobile.defaultPageTransition = 'slide';
    $.mobile.hashListeningEnabled = false;
  });
</script>

しかし、これは代わりに(適切な場所で):

<script>
    $.mobile.defaultPageTransition = 'slide';
    $.mobile.hashListeningEnabled = false;
</script>
于 2013-03-20T11:05:59.933 に答える
0

回避策はありますが、問題の原因がわかりません。

  $(document).on('mobileinit', function() {
    $.mobile.defaultPageTransition = 'slide';
    $.mobile.hashListeningEnabled = false;
  });

これは、ページの読み込み中に機能する上記の機能です。しかし、リフレッシュ後の私のプロジェクトは機能しません。そのため、このページが再度リロードされないという手段があります。それは私に ajax メソッドを考えさせます。ajax プロセスの後、ページの任意のスクリプトが呼び出されるため、ready、pageinit、mobile init 関数は呼び出されません。

だから私は上記のmobileinitに以下のコードを入れました。

$.mobile.ajaxEnabled = false;

解決策はそれです

  $(document).on('mobileinit', function() {
    $.mobile.defaultPageTransition = 'slide';
    $.mobile.hashListeningEnabled = false;
    $.mobile.ajaxEnabled = false;
  });

繰り返しになりますが、このページで ajax を使用するにはどうすればよいですか?

于 2013-03-21T13:34:32.800 に答える