gpt4 book ai didi

javascript - $(this) 不是 "refreshing"与 $(document).on ('click' )

转载 作者:行者123 更新时间:2023-11-30 15:43:53 26 4
gpt4 key购买 nike

我正在使用 JavaScript(或 jQuery),但我无法正确检索调用该事件的按钮的 ID。

这是一个简化的例子:我有 2 个具有相同类(该类用于监听器)的按钮,id 为“button_1”和“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>

确保检查 HTML 以确保其正确无误。

关于javascript - $(this) 不是 "refreshing"与 $(document).on ('click' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40402327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com