ユーザーが互いにメールを送信できる単純なポップアップ(Iframeではない)があります。情報を送信するための送信ボタンと、オーバーレイを閉じるためのキャンセルボタンがあります。
閉じるボタンを機能させるのに問題があります。
コードは次のようになります。
<asp:Button runat="server" ID="btnCancel" Text="Cancel" />
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery("#<%= btnCancel.ClientID %>").click(function () {
jQuery.colorbox.close(); return false;
});
});
</script>
Parent.jQuery.colorbox.close()、jQuery.fn.colorbox.close()の両方で試しましたが、成功しませんでした。
フレームとカラーボックスを呼び出すページの両方に読み込まれたため、jQueryとカラーボックスを2回追加していることがわかりました。
オーバーレイページからjQueryとColorboxを削除した後も機能したため、含まれるだけでした。
「sushilbharwani」のアイデアを使って、クローズイベントを実行しました。
カラーボックスの上部に閉じるボタンがありますか? [閉じる]。私のアプリケーションで、カラーボックスによってすでに提供されている以外のリンクからカラーボックスウィンドウを閉じるためのキャンセルボタンを導入したい場合。
私はのような回避策を行います。
jQuery('#cboxClose').click();
これにより、デフォルトの閉じるボタンをクリックし、最終的にカラーボックスを閉じます。
次を使用できます。
$(window).colorbox.close();
ぜひお試しください。
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
/* Automatically resize to content */
var y = $(document.body).height();
var x = $(document).width();
parent.$.colorbox.resize({innerWidth:x, innerHeight:y});
$("#button_cancel").click(function() {
parent.$.colorbox.close();
return false;
})
});
Iframehtmlページのボタン用。
<button id="button_cancel" type="button">cancel</button>
$(".selected_color").live('click',function(){
$(window).colorbox.close();
});
ライブを使用すると機能します
おそらくこれが役立つでしょう: http://jsfiddle.net/fbenariac/4vuDC/18/ (これはカラーボックスの閉じるボタンの簡単な例です)。
使ってみましたか
$.fn.colorbox.close();
の代わりに
jQuery.colorbox.close();
?
たぶん、あなたはすでにこれをしました:
$("#cboxClose").click(function(){
$.fn.colorbox.close();});
カラーボックスを閉じるときに問題が発生してはなりません。実際、アプリにはキャンセルボタンと画像のように見える閉じるボタンのあるカラーボックスもあります。全く問題ありません。
私はあなたがあなたのコードの小さなことを見逃したり間違えたりしていると思います。それ以外の場合、closeメソッドは期待どおりに機能します。ボタンが発射をクリックするかどうかを最初に確認しましたか?火災が発生した場合、JSエラーが発生しましたか?
これは誰かを助けるかもしれません。私はカスタムの閉じるボタンを作成しました。カスタムの閉じるボタンが右上隅に表示され、閉じることもできます。私のコード:
jQuery(document).ready(function(){
jQuery('<div id="close" style="cursor: pointer; position: absolute; top: 0; right: 30px;"><img src="../img/close.png" alt="close"/></div>').appendTo('.yourparentDiv');
$("#close").click(function() {
jQuery('#cboxClose').click();
});
});
@sushil bharwaniのおかげで、カラーボックスを閉じるときに問題が発生しました。それは私を助けました。