Javascript 如何确定哪个按钮调用函数?

Javascript 如何确定哪个按钮调用函数?,javascript,html,Javascript,Html,我如何知道是哪个按钮导致此功能运行?具体来说,如果我想将函数的值设置为与按钮的值相等 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_b

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

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;

}
有什么方法可以检测导致这种情况发生的按钮的值吗?

您可以按照@A1rPun的说法使用它,或者通过window.event访问按钮,当您使用内联onclick和其他未推荐的做法时,它也会有所帮助:

JS

HTML


“this”发送与触发事件的元素相关的所有信息:

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

function foo_or_bar(id) {
    button_that_sent_me = id;
}
Foo
函数foo_或_条(id){
发送给我的按钮=id;
}

你的意思是
这个
?我不需要传递任何东西吗?很抱歉,javascriptonclick的新增内容发生在发件人的上下文中。请检查id并返回正确的按钮
this.id
谢谢你,用福里斯特·甘普的话说,“我不是个聪明人”
<button id="foo_button" value="foo">internals</button>
foo
foo
<button onclick="foo_or_bar(this.id);" id="foo">Foo</button>

function foo_or_bar(id) {
    button_that_sent_me = id;
}