0

以下にこのコードを示します。私がやろうとしているのは、ボタンに onclick イベントを追加して ShowDetails 関数を実行することです。属性が追加されていることがわかりますが、リンクをクリックしても何も起こりません。私のアラートを見るために。

(function($){
        $(function(){
                function ShowDetails(){
                        alert('hjhjkhjkh');
                }
                $('a.woocommerce-main-image').attr("href", "#");
                $('a.woocommerce-main-image').attr("onclick", "javascript:ShowDetails()");
        });
})(jQuery);
4

2 に答える 2

2

変更点

  1. 以下のように、dom Ready ハンドラーと IIFE を組み合わせることができます。
  2. インライン クリック ハンドラーを使用する代わりに、.click()を使用してハンドラーを登録します。

試す

jQuery(function ($) {
    function ShowDetails() {
        alert('hjhjkhjkh');
    }
    $('a.woocommerce-main-image').attr("href", "#").click(ShowDetails);
});

ShowDetails機能しなかった理由: インライン イベント ハンドラーを使用していたため、js エンジンはグローバル scope( ) でメソッドを探していましたが、windowそのメソッドを dom ready ハンドラー内のクロージャー メソッドとして作成しました。

于 2013-11-08T07:12:01.900 に答える