jQuery-mobile和ASP.NET组合问题

时间:2013-03-14 09:36:07

标签: javascript asp.net jquery jquery-mobile

我正在开发一个结合了jQuery.mobile和。的移动解决方案 asp.net webforms。

对于我的asp.net控件的回发工作正常,我必须禁用ajax 页面顶部,如下所示:

   <script>
      $.mobile.ajaxEnabled = false;
   </script>

但是当像这样禁用ajax时,其他功能似乎不起作用。 我不能从jQuery文档准备好的

中调用对话框/弹出窗口

例如:

  $(document).ready(function () {        
     $('#myPopup').popup('open'); 
  });

这只会导致弹出窗口显示不到一秒钟, 然后它消失了。当我注册客户端时 从codebehind到服务器端按钮时触发弹出窗口 单击,弹出窗口闪烁,然后消失。 但是当我在页面顶部禁用ajax时,弹出窗口 通话工作正常。

如何解决这些问题?

2 个答案:

答案 0 :(得分:0)

文档就绪无法与 jQuery Mobile 成功使用。它通常会在填充 DOM 页面之前触发。

而不是这一行:

$(document).ready(function () {        
    $('#myPopup').popup('open'); 
});

使用此行:

$(document).on('pagebeforeshow', '#page-id', function(){       
    $('#myPopup').popup('open'); 
});

#page-id 是包含该弹出窗口的页面ID。

jQuery Mobile存在文档准备问题,因此其开发人员已创建页面evenet来解决此问题,请在此 ARTICLE 中详细了解或查找 {{3 }}

编辑:

我认为您的问题也在 $.mobile.ajaxEnabled = false; 处理。

代码示例必须会从 mobileinit 事件触发,如下所示:

$(document).bind("mobileinit", function () {
    $.mobile.ajaxEnabled = false;
});

还有一件事, mobileinit 事件必须 jQuery Mobile 初始化之前被触发,如下所示:< / p>

<script src="http://www.dragan-gaic.info/js/jquery-1.8.2.min.js"></script>      
<script>
        $(document).bind("mobileinit", function () {
            $.mobile.ajaxEnabled = false;
        });    
</script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>  

答案 1 :(得分:0)

我觉得......

请勿使用 说明here

的说明

只需打开jquery.mobile-1.3.1.min.js文件即可 罚款ajaxEnabled:!0并将其更改为:ajaxEnabled:!1

现在点击CTRL + F5并继续欢喜项目! ;)