我正在使用JavaScript(或jQuery),我不能正确检索调用事件的按钮的id。
下面是一个简化的例子:我有两个具有相同类(类用于侦听器)的按钮,id为"button_1"one_answers"button_2",我将单击其中一个,启动事件并获得正确的id。现在,我点击另一个按钮,启动事件,我仍然得到第一个按钮的id。
代码如下:
$(document).on('click', '.list-button' , function(e){
var target = e.target || e.srcElement;
var button_id = target.id;
alert(button_id);
}
或使用jQuery:
$(document).on('click', '.list-button' , function(e){
var button_id = $(this).attr('id');
alert(button_id);
}
都只输出第一个事件调用者。第二次,它将启动函数但它像" $(this) "仍然是第一个事件调用者。
编辑:我简化了太多的例子,警报工作得很好,后来在代码中崩溃了。它被链接到wordpress,我不得不取消定义变量来纠正它。谢谢你的帮助,即使我的请求是非常无用的,我想是你帮助我退一步,一步一步地阅读。你的代码运行得很好。
$(document).on('click', '.list-button', function(e) {
var button_id = $(this).attr('id');
alert(button_id);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="list-button" id="button1">Button 1</button>
<button class="list-button" id="button2">Button 2</button>
代码运行正常!
$(document).on('click', '.list-button', function(e) {
var target = e.target || e.srcElement;
var button_id = target.id;
alert(button_id);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="list-button" id="button_1">Button 1</button>
<button class="list-button" id="button_2">Button 2</button>