2016-09-26 3 views
0

私はこのすべてに非常に慣れていて、JavaScript onclick機能が付いた画像を複製しようとしています。私はイメージとコーディングを複製して新しいページに配置しましたが、onclick関数が機能していないようです。しかし、元の作品はちょうどいいです。元のonclickはモーダルウィンドウを開きますが、複製されたウィンドウは何もしません。JavaScript onclick関数が複製されていますが、元のものだけが機能しますか?

私には何が欠けていますか?

function bump_hype_product(post_id, type_text){ 
jQuery('#product-message-confirmation-wrap').hide(); 
jQuery('.popup-waiting-wrap').show(); 
jQuery('#modal_product_message_confirmation h4.modal-title').html(''); 

jQuery.ajax({ 
    url : the_ajax_script.ajaxurl, 
    type : 'post', 
    data : { 
     action : 'bump_hype_product', 
     type : type_text, 
     post_id : post_id 
    }, 
    success : function(response) { 

     jQuery('.popup-waiting-wrap').hide(); 
     jQuery('#product-message-confirmation-wrap').show(); 
     jQuery('#product-message-confirmation-wrap').html(response); 

     jQuery('#modal_product_message_confirmation').modal('show'); 
    } 
}); 

スクリプトファイルはすべての私のページのヘッダーに表示されている。ここに私のconsumer-global.jsファイルにある関数である

<img id="product-bump-<?php echo $product->ID; ?>" src="<?php echo get_template_directory_uri();?>/assets_consumer/assets/img/bump-icon_.png" width="20" class="product-arrow" data-toggle="tooltip" data-placement="left" title="Bump" onclick="javascript:bump_hype_product(<?php echo $product->ID; ?>, 'B')" /> 

:ここ

onclick機能を備えた画像です。

+0

あなたのonclickリスナーは、新しく作成されたイメージには適用されません。親要素にリスナーを作成し、クリックのターゲット要素がイメージの場合は、それを複製してください – Gatsbill

+0

ブラウザの開発者ツールのコンソールを開きます。イメージをクリックします。エラーメッセージの内容を見てください。 – Quentin

答えて

0

javascript関数を使用して画像を複製すると、動的に生成された画像 はHTML Domにバインドされないため、この問題に直面します。 JqueryのDelegateイベントを検索し、デリゲートイベントでコードを再構築します。 それは動作します!

0

は次のように試してみてください。その静的divの内側に追加動的要素がバインドされることができるように

$('staticElement').on('click','#dynamicallyAddedElament',handlerFunctio); 

これはあなたの静的な要素にイベントリスナーを追加します。

+0

だから私はこのコードを置くのですか?申し訳ありません私はこれに新しいと実質的に既存のコードを編集しています –

+0

あなたのページのスクリプトタグ内に置くことができますまたは別の.jsファイルを書くことができ、あなたのページにそれを含める –

+0

私は要素ID ? –

関連する問題