2012-04-06 3 views
2

モーダルダイアログのポップアップには、JW Playerが再生するさまざまなビデオが入っています。ダイアログを閉じたときにモーダルダイアログ内に埋め込まれたJWPlayerを停止する方法

私はUIバージョン1.8.18(どちらもローカルにホストされています)のJQuery 1.7.1を使用しており、そのパッケージのモーダルダイアログウィジェットを利用しています。

問題は、ビデオの再生中にダイアログを閉じると、プレーヤーにSTOPコマンドを送信しないことです。したがって、ダイアログは閉じますが、オーディオは継続します。ブラウザのウインドウまたはタブ全体を閉じるだけで、これを終了させることができます(今のところ、IE内)。

JW Playerのドキュメント

the following solutionを持っている:彼らはローカルのアンカータグに特異的に結合する

onclick="player.sendEvent('STOP')" 

私の問題は、モーダルウィンドウの閉じるアイコンがUIコード自体によって生成されていることです。私はガイダンスなしでそれを手伝って嫌です(私はJQuery pre-noobレベル-1にいます)。

これをまとめると、外部スニペットによって、またはUIコーディング自体を変更することによって、誰でもこの'STOP'を達成する方法を教えてもらえますか?

答えて

2

あなたはjQueryのUIダイアログの"close"イベントを使用することができます。

$(".selector").dialog({ 
    close: function(event, ui) { 
     player.sendEvent('STOP'); 
    }, 

    modal: true /* and so on with any other parameters you have */ 
}); 
+0

'.selector'によって、そのリンクに与えられた実際のクラスを意味します:' ui-dialog-titlebar-close'?また、 'close:function ...'をダイアログの他のパラメータと置き換えるか、別にここにあるようにしますか? – Eamonn

+0

@エモンあなたはコードを提供していないので、これは統合された解決策ではありません。あなたのコードと統合するには、適切な '' .selector "'を使用します。そしてyes、 '' close ''はあなたが持っている他のパラメータと同じような別のパラメータです。 – Esailija

+0

初心者が私のやっていることに私が非常に注意するので、私はチェックしなければならなかった! :) – Eamonn

1

あなたがここに自分のjQueryのモーダルメソッドを表示することができますhttp://jqueryui.com/demos/dialog/

 

    $(".selector").dialog({ 
     beforeClose: function(event, ui) { ... } 
    }); 

をあなたはbeforeCloseの内側に停止コマンドを配置する必要があります関数。これは、モーダルが閉じられる直前に呼び出されます。代わりに、モーダルが閉じられた後に呼び出される 'Closed'関数もあります。

これが役に立ちます。

乾杯。

+0

ありがとうジョナサン - それは行く方法です、Esailijaは、以下の同じソリューションを持っていた。私はちょうどそのスニペットをどこに置くべきかわからない - 他のモーダル設定で、または別の機能として。 – Eamonn

+0

モーダルを作成する必要があるコードを貼り付けることはできますか?私はそこからあなたを見せることができます。 –

+0

甘い! '.dialog({autoOpen:false、title:ヘッダー、モーダル:true、maxHeight:500、width:580、close:function(イベント、UI){player.sendEvent( 'STOP');}} ); ' – Eamonn

関連する問題