私はColorBoxのインライン機能を使用しており、クリックしたときにウィンドウを閉じるように設定したボタンを作成しました。
$('.closebutton').live('click', function(){
$.fn.colorbox.close();
});
ボタンがクリックされたときに実行したい別の機能があります。
myFunctionが上で動作しないという問題があります。
どんなアイデアですか?
更新:
ここにコードがあります:
<script type="text/javascript">
jQuery(document).ready(function() {
$(".inline").colorbox({inline:true, width:"50%"}); //for colorbox inline
$('#cboxClose').remove(); //remove popup window close button
$('.closebutton').live('click', function(){
$.fn.colorbox.close();
myFunction();
});
$。fn.colorbox.close();
の前または後に myFunction();
を追加しても機能しません
myFunctionコード:(これはページ上のコードの後にあります)
<script type="text/javascript">
function myFunction() {
$("#ajax-form").submit(function(){
$.post("update.php",
$("#ajax-form").serialize(),
function(data){
$('#jqm').attr('src',
$('#jqm').attr('src'));
}
);
return false;
});
}
</script>
更新2:
私はよりうまく説明しようとします:私はフォームと、入力して入力ボックスにいくつかのテキストを追加し、フォームを送信すると、入力の値が提出されるので、見つけることが動作するメインページ上の入力があります。 今、同じ入力をcolorBoxのインライン領域に置くと、ポップアップウィンドウの内側に表示されるので、値は送信されません。私はFirebagでJSエラーを取得しようとしましたが、そこに何も表示されません。 お役に立てれば。
</script>問題は、 myFunction()
(onClick属性)がjQueryによってオーバーライドされているということです。 .closebutton
をクリックするたびに関数を実行させたい場合は、次のようにします:
$('.closebutton').live('click', function(){
$.fn.colorbox.close();
myFunction();
});
そのボタンだけの場合は、そのボタンにIDを追加してください:
$('.closebutton').live('click', function(){
$.fn.colorbox.close();
if($(this).attr('id') == 'exampleID')){
myFunction();
}
});