我正在开发一个结合 jQuery.mobile 和 asp.net 网络表单。
为了使我的 asp.net 控件的回发正常工作,我必须禁用 ajax 页面顶部,如下所示:
<script>
$.mobile.ajaxEnabled = false;
</script>
但是当像这样禁用ajax时,其他功能似乎不起作用。 我无法从 jQuery 文档中调用对话框/弹出窗口
例如:
$(document).ready(function () {
$('#myPopup').popup('open');
});
这只会导致弹出窗口在不到一秒的时间内显示, 然后它就消失了。另外当我注册客户端脚本时 从代码隐藏中触发服务器端按钮时的弹出窗口 单击后,弹出窗口会闪烁,然后消失。 但是当我在页面顶部禁用ajax时,弹出窗口 通话效果很好。
有什么想法可以解决这些问题吗?
最佳答案
文档就绪无法成功与 jQuery Mobile
一起使用。它通常会在页面 DOM
填充之前触发。
而不是这一行:
$(document).ready(function () {
$('#myPopup').popup('open');
});
使用这一行:
$(document).on('pagebeforeshow', '#page-id', function(){
$('#myPopup').popup('open');
});
其中#page-id
是包含该弹出窗口的页面的ID。
jQuery Mobile 在文档就绪方面存在问题,因此其开发人员创建了页面事件来解决此问题,请在 ARTICLE 中阅读更多相关信息。 或找到它 HERE 。
编辑:
我认为您的问题还在于 $.mobile.ajaxEnabled = false;
处理。
该代码示例必须由mobileinit
事件触发,如下所示:
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
});
还有一件事,mobileinit
事件必须在jQuery Mobile
之前触发已初始化,如下所示:
<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>
关于javascript - jQuery-mobile 和 ASP.NET 组合问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15405606/