jQuery-mobile和ASP.NET组合问题
我正在开发一个结合了jQuery.mobile和asp.net webforms的移动解决方案。
为了使我的asp.net控件的回发正常工作,我必须在页面顶部禁用ajax,如下所示:
$.mobile.ajaxEnabled = false;
但是当像这样禁用ajax时,其他function似乎不起作用。 我无法从jQuery文件中调用对话框/弹出窗口
例如:
$(document).ready(function () { $('#myPopup').popup('open'); });
这将导致弹出窗口在不到一秒的时间内显示,然后消失。 此外,当我从codebehind注册一个clientcript以在单击服务器端按钮时触发弹出窗口时,弹出窗口会闪烁,然后消失。 但是当我在页面顶部禁用ajax时,弹出调用工作正常。
有任何想法如何解决这些问题?
文档就绪无法与jQuery Mobile
成功使用。 它通常会在填充页面DOM
之前触发。
而不是这一行:
$(document).ready(function () { $('#myPopup').popup('open'); });
使用此行:
$(document).on('pagebeforeshow', '#page-id', function(){ $('#myPopup').popup('open'); });
其中#page-id
是包含该弹出窗口的页面的id。
jQuery Mobile存在文档准备问题,因此其开发人员创建了页面evenet来解决此问题,在本文中阅读更多相关信息或在此处查找。
编辑:
我认为你的问题也在$.mobile.ajaxEnabled = false;
处理。
该代码示例必须从mobileinit
事件触发,如下所示:
$(document).bind("mobileinit", function () { $.mobile.ajaxEnabled = false; });
还有一件事, 必须在jQuery Mobile
初始化之前触发mobileinit
事件,如下所示:
我做的…..
请勿使用此处描述的说明
只需打开jquery.mobile-1.3.1.min.js文件,然后将其更改为:ajaxEnabled:!1
现在点击CTRL + F5并继续欢喜项目! ;)