1

我正在使用 JQM 和 JSF。在页面中,在我触发 ah:commondbutton 并且它的操作重新运行字符串 null '' 后,页面刷新和任何脚本都不起作用。我在就绪函数和移动 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 处理并返回空字符串“”。页面刷新并且任何脚本都不起作用。

4

2 回答 2

1

我遇到过类似的问题。您可以尝试将您的 Javascript 代码直接放在脚本标签中,即不在 $(document).ready 或 $(document).on 中。

例如不是这个:

<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;
  });

这是在页面加载时 funksion 的工作原理。但是我的项目在刷新后它们不起作用。Thefefore there is 意味着此页面不会再次重新加载。它让我想到了 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 回答