JavaScript:点击事件中对象的值

时间:2012-09-05 17:58:39

标签: javascript jquery

我正在编写一个codecademy.com课程,教我如何使用jQuery构建条形图。最后一组说明是将单击事件添加到$ bar以显示其值。它解释了

  

匿名函数如下:function(arg) { code }。在这   例如,.click处理程序将使用click,click事件作为其参数,   所以你的实现应该在function(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的参数定义为匿名函数   显示警报。

2 个答案:

答案 0 :(得分: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');
});

答案 1 :(得分:0)

问题告诉你到底要做什么:“你的实现应该在.click()中有函数(e){alert code}”

只需写下它所说的内容:$bar.click(function(e) { alert(this.value); }

根据实际值的位置调整this.value - 我不知道也无法猜测;)