2

次の UI 効果を実現したいと思います。ご協力やヒントをいただければ幸いです。

1) リンクがクリックされると、ウィンドウがその横にポップアップします (固定されるのではなく、リンクの位置に相対的であることが望ましい)。リンクは、php ベースの URL を指しています。

2) ポップアップ ウィンドウには、元のウィンドウとの「関係」または同じ「名前空間」が必要です。たとえば、マウス イベントの受け渡し、ウィンドウ間の「スクロール」などです。

それは div 間で実行可能ですが、異なるウィンドウ間でも当てはまるかどうかはわかりません。試してみるものさえ見つかりません。

私は一般的に jQuery や Web デザインの専門家ではないので、まずは十分な詳細を含めてアドバイスをください。どうもありがとう。


回答に関しては...

初めまして、ありがとうございます!現在「オープナー」をテスト中・・・そうしていると、別のウィンドウからオブジェクトを参照できるようになるのだろうか。たとえば、次のコード、

function mse_over()
{
  $('#'+object).css('border', '2px ridge brown');
}

オブジェクトの境界線の色を変更するだけです。

私の質問は子ウィンドウにあります。オブジェクトが親ウィンドウにある場合(またはその逆)に実行できますか。実行可能な1つの方法は、子から「mse_over」を呼び出すことです。しかし、ウィンドウをまたいでオブジェクトに直接アクセスすることは可能ですか? ありがとうございました。

4

4 に答える 4

1

はい、可能です。window.openerを使用できますwindow.opener は、現在のウィンドウを開いたウィンドウのウィンドウ オブジェクトを保持する変数です。

この例では、jQuery を使用していると仮定します。jQuery を使用する必要はありませんが、ブラウザーの違いを抽象化するために使用しています。

メインウィンドウでこれを行うことができます:

window.onChildWindowClick = function(e){
    //do stuff with click event
}

今ポップアップウィンドウに

$("#element-in-popup").click(function(e){
    window.opener.onChildWindowClick(e);
});
于 2012-08-18T01:18:41.843 に答える
0

http://www.w3.org/TR/webmessaging/#web-messaging & http://www.w3schools.com/jsref/prop_win_opener.asp が役に立ちます。

クロス ドキュメント メッセージングを使用すると、ウィンドウ間でイベントを渡すことができます。ただし、クロスサイト スクリプティングは許可されていません。

親ウィンドウの場合:

var event = function() {...};
childw = window.open(...);

子ウィンドウの場合:

window.opener.func();
于 2012-08-18T01:01:16.480 に答える