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;
}