如何找到正在点击的按钮的id ?
<button id="1" onClick="reply_click()"></button>
<button id="2" onClick="reply_click()"></button>
<button id="3" onClick="reply_click()"></button>
function reply_click()
{
}
如何找到正在点击的按钮的id ?
<button id="1" onClick="reply_click()"></button>
<button id="2" onClick="reply_click()"></button>
<button id="3" onClick="reply_click()"></button>
function reply_click()
{
}
当前回答
您需要将ID作为函数参数发送。这样做:
<button id="1" onClick="reply_click(this.id) "“> B1 > < /按钮 <button id="2" onClick="reply_click(this.id) "“> B2 > < /按钮 <button id="3" onClick="reply_click(this.id) "“> B3 > < /按钮 <脚本type = " text / javascript”> 函数reply_click (clicked_id) { 警报(clicked_id); } > < /脚本
这将发送ID This。Id为clickked_id,可以在函数中使用。在这里看到它的行动。
其他回答
您需要将ID作为函数参数发送。这样做:
<button id="1" onClick="reply_click(this.id) "“> B1 > < /按钮 <button id="2" onClick="reply_click(this.id) "“> B2 > < /按钮 <button id="3" onClick="reply_click(this.id) "“> B3 > < /按钮 <脚本type = " text / javascript”> 函数reply_click (clicked_id) { 警报(clicked_id); } > < /脚本
这将发送ID This。Id为clickked_id,可以在函数中使用。在这里看到它的行动。
按钮1按钮2按钮3
var reply_click = function() {
alert("Button clicked, id "+this.id+", text"+this.innerHTML);
}
document.getElementById('1').onclick = reply_click;
document.getElementById('2').onclick = reply_click;
document.getElementById('3').onclick = reply_click;
抱歉,这是一个很晚的回答,但如果你这样做的话,它真的很快:-
$(document).ready(function() {
$('button').on('click', function() {
alert (this.id);
});
});
这将获得单击的任何按钮的ID。
如果你想要在某个地方点击按钮的值,就把它们放在容器中
<div id = "myButtons"> buttons here </div>
并更改代码为:-
$(document).ready(function() {
$('.myButtons button').on('click', function() {
alert (this.id);
});
});
我希望这对你们有帮助
第一种方法:用这个发送触发元素
<button id="btn01" onClick="myFun(this)">B1</button>
<button id="btn02" onClick="myFun(this)">B2</button>
<button id="btn03" onClick="myFun(this)">B3</button>
<script>
function myFun(trigger_element)
{
// Get your element:
var clicked_element = trigger_element
alert(clicked_element.id + "Was clicked!!!");
}
</script>
通过这种方式发送一个类型为:HTMLElement的对象,你得到元素本身。您不需要关心元素是否有id或任何其他属性。它自己工作得很好。
第二种方法:使用this.id发送触发元素id
<button id="btn01" onClick="myFun(this.id)">B1</button>
<button id="btn02" onClick="myFun(this.id)">B2</button>
<button id="btn03" onClick="myFun(this.id)">B3</button>
<script>
function myFun(clicked_id)
{
// Get your element:
var clicked_element = document.getElementById(clicked_id)
alert(clicked_id + "Was clicked!!!");
}
</script>
这种方式发送一个类型为:String的对象,而不获取元素本身。所以在使用之前,您需要确保元素已经有一个id。 你不能自己发送元素id,比如onClick="myFun(btn02)"。它不是干净的代码,它使你的代码失去功能。
在你的情况下:
<button id="1" onClick="reply_click(this.id)">B1</button>
<button id="2" onClick="reply_click(this.id)">B2</button>
<button id="3" onClick="reply_click(this.id)">B3</button>
<script type="text/javascript">
function reply_click(clicked_id)
{
alert(clicked_id);
}
</script>
这是Prateek答案的改进-事件是通过参数传递的,因此reply_click不需要使用全局变量(到目前为止没有人提出这个变量)
函数reply_click(e) { console.log (e.target.id); } <button id="1" onClick="reply_click(event) "“> B1 > < /按钮 <button id="2" onClick="reply_click(event) "“> B2 > < /按钮 <button id="3" onClick="reply_click(event) "“> B3 > < /按钮