1

私はjQueryの初心者なので、目立った見落としをお詫びします。現在、特定のリンクがクリックされたときにjQuery Tools Overlayを使用して外部htmlをロードしているWebサイトがあります(http://flowplayer.org/tools/demos/overlay/external.html)。これは正常に機能します。

問題が発生しているのは、html5-canvasで描画しているオブジェクトがクリックされたときにオーバーレイをトリガーしようとしたときです。注:オブジェクトがクリックされたときの検出に問題はありません。発生している唯一の問題は、ポップアップのトリガーです。

次のコードは、私が現在divを外部ページで埋めるために使用しているものです。リンクに固有ではないようにするために、誰かが私を正しい方向に向けることができるかどうか疑問に思いました。

ありがとう!

//make all links with the 'rel' attribute open overlays
$(function() 
{
    // if the function argument is given to overlay,
    // it is assumed to be the onBeforeLoad event listener
    $("a[rel]").overlay(
    {
        mask: 'darkgrey',
        effect: 'apple',

        onBeforeLoad: function()
        {
            // grab wrapper element inside content
            var wrap = this.getOverlay().find(".contentWrap");

            // load the page specified in the trigger
            wrap.load(this.getTrigger().attr("href"));
        }
    });
});

更新:私が最終的に得た解決策は、プログラムによるデモで説明されているとおりでした。ターゲットdivをオーバーレイに変換し、loadをtrueに設定します。外部htmlをロードするには、上記の「onBeforeLoad」関数の内臓を保持するだけです。

4

1 に答える 1

1

この場合に必要なのは、トリガー要素を介さずにプログラムでオーバーレイを開くことです。

このデモの指示とサンプルコードに従ってください:http://flowplayer.org/tools/demos/overlay/trigger.html

重要な注意点は、この場合、トリガー要素ではなくオーバーレイ要素を選択することです。

load:true構成変数の追加にも注意してください

于 2011-07-19T00:15:08.863 に答える