如何确定哪个按钮称为函数?

时间:2014-10-06 19:50:12

标签: javascript html5

我如何知道哪个按钮导致此功能运行?具体来说,如果我想将函数的值设置为等于按钮的值?

var foo_button = document.getElementById("foo_button");
var bar_button = document.getElementById("bar_button");
foo_button.onclick = foo_or_bar;
bar_button.onclick = foo_or_bar;

然后在以后的函数中:

function foo_or_bar(){

    //this should return the value of the button that was pressed (in this case "foo" 
    //or "bar"
    return button_that_sent_me;

}

有没有办法可以检测出导致这种情况发生的按钮的值?

2 个答案:

答案 0 :(得分:1)

您可以使用作为@ A1rPun说或通过window.event访问该按钮,这也有助于您使用内联onclicks和其他未经推荐的做法:

JS

function foo_or_bar() {
  console.log(window.event.target.value);
  console.log(this.value);
}

HTML

<button id="foo_button" value="foo">internals</button>

为您提供以下控制台日志:

foo
foo

答案 1 :(得分:0)

'this'发送与该元素相关的所有信息以激活该事件:

<button onclick="foo_or_bar(this.id);" id="foo">Foo</button>

function foo_or_bar(id) {
    button_that_sent_me = id;
}