我使用jQuery移动1.2.0阿尔法1。
目前,当我打开一个弹出,然后点击它以外的任何位置在屏幕上弹出被关闭。 我在想,如果有任何jQuery Mobile的属性我已经错过了可以设置,防止关闭在外面,点击弹出? (模式弹出)
(对弹出窗口的文档可以找到这里 )
编辑:
我有解决这个的想法,但仍然无法实现它的工作:
当JQM弹出现身那里有涵盖所有UI类 - 弹出屏幕的屏幕的一个div。 我想以某种方式给它一个大的z-index,并从它解除绑定所有点击/点按功能。 这样做并没有解决我的问题,但我想它的方向迈出了一小步。
日Thnx提前。
这已被添加在Github功能要求。 参见问题在这里 。
由于在此期间这种黑客攻击是为了解除绑定UI的弹出式屏幕上的事件。 我把下面的代码在pageinit。
$("#yourPopupId").on({
popupbeforeposition: function () {
$('.ui-popup-screen').off();
}
});
这是一个沉重的手和quickfix,但它的作品。
对于未来的搜索,从1.3版本开始,这是现在支持。 只需将添加data-dismissible="false"
属性面板股利。
@ TheGwa的优秀的解决方案建立在,这里是为即将到来的正式功能准备的概括(大概在1.3版本):
_
$(window).on('popupbeforeposition', 'div:jqmData(role="popup")', function() {
var notDismissible = $(this).jqmData('dismissible') === false;
if (notDismissible) {
$('.ui-popup-screen').off();
}
});
-
一旦该功能正式支持,只需删除事件处理程序。
需要注意的是,可悲的是,官方文档(如1.2)表明,该功能已经可用,但它不是-见http://jquerymobile.com/test/docs/pages/popup/options.html
在下面的方式添加数据可取消=“假”。
<div data-role="popup" id="popupnotification" data-overlay-theme="b" data-theme="c" data-position-to="window" style="max-width:600px;">
@ MJB - >如果您希望能够任意位置单击(如按钮)时,弹出处于活动状态,你可以改变弹出的CSS如下:
.ui-popup-screen{
position: relative;
}
这为我工作。
注:弹出关不上点击了,当你做到这一点-我做了一个解决办法:
$(window).click(function() {
if ($( "#myPopup-popup" ).hasClass("ui-popup-active")){
$( "#myPopup" ).popup( "close" );
}
});
由JQM产生myPopup-弹出ID - myPopup是我送给弹出的ID。