gpt4 book ai didi

jquery - 在 jQuery 中使用 .on() 将事件委托(delegate)给特定的后代

转载 作者:行者123 更新时间:2023-12-01 06:02:57 26 4
gpt4 key购买 nike

在 Rails/jQuery 应用程序中,每当用户从 last 下拉列表中选择某些内容时,我想动态地将新的 select 标记添加到不断增长的列表中。

我本来打算使用 live(),但发现它已被弃用,所以我转向 .on()event delegation .

当更改从 #list_of_selects 继承的任何选择标记的值时,会正确触发以下代码:

$("#list_of_selects").on("change", "select", function() {
alert("Found!")
});

但同样,我只想在列表中的最后下拉菜单被执行时采取行动。但是,以下事件委托(delegate)不会被触发,我怀疑我错过了一些与选择器如何工作相关的内容。

$("#list_of_selects").on("change", "select:last", function() {
alert("Found!")
});

如果我将 "select:last" 替换为 $("select:last") 则该事件总是触发

最佳答案

http://jsfiddle.net/nyR7q/ - 对我来说效果很好。其他地方的代码有冲突吗?

也就是说,我会推荐这样的东西:http://jsfiddle.net/2F3yn/

不要监听整个 div 的变化然后过滤到最后一个,而是直接监听最后一个 div 的变化。

关于jquery - 在 jQuery 中使用 .on() 将事件委托(delegate)给特定的后代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9430374/

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