4

$('#popupDiv').popup("open");

これにより、プログラムで JQueryMobile ポップアップが開きますが、上記のコードdata-positiondata-transition一緒に、ポップアップの設定を変更または設定できるかどうかを知りたいです。ありがとう。

4

3 に答える 3

19

できるよ:

$('#popupDiv').popup("open", {positionTo: '#mydiv'});

ただし、バージョン 1.2 では「origin」が機能しません。

参照: http://jquerymobile.com/demos/1.2.0/docs/pages/popup/methods.html

于 2012-11-02T14:23:16.973 に答える
2

jQuery Mobile Docsから直接:

配置オプションデフォルトでは、ポップアップはクリックしたもの(原点)の中央に垂直方向および水平方向に開きます。これは、ツールチップまたはメニューとして使用されるポップアップに適しています。フレームワークはまた、いくつかの基本的な衝突検出ルールを適用して、ポップアップが画面に表示されるようにします。これにより、最終的な位置が常に原点の中央に配置されるとは限りません。

ダイアログやライトボックスのように、ポップアップが原点ではなくウィンドウの中央に表示される場合は、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"(または選択したトランジション)したり、回答の上部にあるドキュメントリンクで概説されている他のポジショニングオプションを追加したりできます。

于 2012-11-02T18:29:02.747 に答える
1

ええ、これを行う正しい方法は、このように 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');              
 });

nb:url='google.com'マークアップに " " を追加して作成しましたhref='#'

于 2015-10-07T12:41:12.527 に答える