de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
 Satch3000
Satch3000
質問

ColorBox onClickはJS関数を実行します

私は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>
0 2011-10-27T20:30:18+00:00 4
 Satch3000
Satch3000
編集された質問 28日 10月 2011 в 6:12
プログラミング
javascript
jquery
colorbox
Niet the Dark Absol
27日 10月 2011 в 8:32
2011-10-27T20:32:54+00:00
さらに
ソース
編集
#56792856

なぜ、 $。fn.colorbox.close(); の前に myFunction()を追加するだけでいいですか?そうすれば、物事がどのように処理されるかを確かめることができます。

1
0
Leo
27日 10月 2011 в 8:33
2011-10-27T20:33:32+00:00
さらに
ソース
編集
#56792857

インラインのjavascriptを使用する代わりに、単に次のようなことができます。

$('.closebutton').live('click', function(){
    $.fn.colorbox.close();
    myFunction();
});
1
0
Joey
27日 10月 2011 в 8:37
2011-10-27T20:37:01+00:00
さらに
ソース
編集
#56792858

問題は、 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();
   }
});
0
0
Leo
29日 10月 2011 в 3:46
2011-10-29T15:46:05+00:00
さらに
ソース
編集
#56792859

さて、あなたのアップデート#2を読んだ後、実際にあなたの問題は、myFunctionコードが正しく実行されないということではないことを理解しています。

問題は、あなたの入力をcolorboxの中に移動したので、その値がフォームと共に提出されないということです。これは、入力がフォームの外部であるためです。

フォーム全体をcolorboxの中に移動するか、javascriptを使用して、フォームの外に移動した入力値を隠し入力としてコピーすることができます。

0
0
関連コミュニティ 1
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
4 ユーザー
日本人コミュニティのjavascript @react_ja @php_ja @angular_ja @vue_ja
開く telegram
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Roxana Elizabeth CASTILLO Avalos
登録済み 6日前
2
Hideo Nakagawa
登録済み 1週間前
3
Sergiy Tytarenko
登録済み 1週間前
4
shoxrux azadov
登録済み 1週間前
5
Koreets Koreytsev
登録済み 1週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属