$('#popupDiv').popup("open");
这以编程方式打开了一个 JQueryMobile 弹出窗口,但我想知道是否可以更改或设置弹出窗口的设置,例如上面data-position
的data-transition
代码。谢谢。
$('#popupDiv').popup("open");
这以编程方式打开了一个 JQueryMobile 弹出窗口,但我想知道是否可以更改或设置弹出窗口的设置,例如上面data-position
的data-transition
代码。谢谢。
你可以做:
$('#popupDiv').popup("open", {positionTo: '#mydiv'});
不过,'origin' 在 1.2 版中对我不起作用。
见:http: //jquerymobile.com/demos/1.2.0/docs/pages/popup/methods.html
直接来自jQuery Mobile 文档:
定位选项 默认情况下,弹出窗口在您单击的内容(原点)上垂直和水平居中打开,这对于用作工具提示或菜单的弹出窗口很有用。该框架还应用了一些基本的碰撞检测规则,以确保弹出窗口出现在屏幕上,因此最终位置可能并不总是以原点为中心。
对于像对话框或灯箱这样的情况,弹出窗口应该出现在窗口的中心而不是在原点上,将 data-position-to 属性添加到链接并指定 window 的值。
除了 origin 和 window 之外,还可以指定任何有效的选择器作为 position-to 的值。例如,如果您添加 data-position-to="#myElement",则弹出窗口将定位在 id 为 myElement 的元素上。
<a href="#positionWindow" data-rel="popup" data-position-to="window" data-transition="slideup">
<div data-role="popup" id="positionWindow">
<p>I am positioned to the window.</p>
</div>
您可以将data-transition="slideup"
(或您选择的转换)添加到链接,以及我的答案顶部的文档链接中概述的其他定位选项。
是的,正确的方法是像这样使用 event.target
$('#popup').off('taphold').on('taphold', function (e) {
$('#popupDiv').popup("open", e.target);
});
顺便说一句,如果您点击按住按钮并且单击事件就像这样,则此代码会弹出一个弹出窗口,这意味着正常单击仍然有效
$('#popup').on('tap', function (){
var url = $(this).attr('url');
window.open( url, '_parent');
});
注意:我url='google.com'
在标记中添加了“”并制作了href='#'