1

jQuery を使用して棒グラフを作成する方法を教えてくれる codecademy.com のレッスンに取り組んでいます。最後の一連の手順は、クリック イベントを $bar に追加して、その値を表示することです。説明します

無名関数は次のようになりますfunction(arg) { code }。この場合、.click ハンドラーは e (クリック イベント) を引数として持つため、実装では .clickfunction(e) { alert code }内にある必要があります.click()

これが私が変更することになっている関数です

// Exercise 5
function addBarClickEvent($bar,value) {
    // add a click event to the bar that 
    // pops up an alert with the bars value
    $bar.click(
        // your code goes here!

        }
    );
}

以下に示す両方のソリューションを試しましたが、どちらも機能しませんでした。残念ながら、レッスンは解決策を提供しません。誰でも助けることができます。

// Exercise 5
    function addBarClickEvent($bar,value) {
        // add a click event to the bar that 
        // pops up an alert with the bars value
        $bar.click(
            // your code goes here!
              alert($bar.value)       //my attempt
              alert(e.value)          //my second attempt
            }
        );
    }

このエラー メッセージが表示されます

アラートを表示する無名関数として .click への引数を必ず定義してください。

4

2 に答える 2

2

表示したい値がバインド時に渡された値であると仮定します

function addBarClickEvent($bar,value) {
    // add a click event to the bar that 
    // pops up an alert with the bars value
    $bar.click(function(){
       alert(value);
    });
}

そうでない場合 -

$bar.click(function(){
   // get value somehow
  //$(this).data('some-value');
});
于 2012-09-05T18:00:54.830 に答える
0

質問は、何をすべきかを正確に示しています。「実装には、.click() 内に function(e) { alert code } が必要です」

それが言うことを書くだけです:$bar.click(function(e) { alert(this.value); }

値が実際にどこにあるかに応じて調整しthis.valueます-わかりませんし、推測することもできません;)

于 2012-09-05T18:11:02.687 に答える