Javascript 为什么更改事件上的jQuery会多次触发?

Javascript 为什么更改事件上的jQuery会多次触发?,javascript,html,jquery,Javascript,Html,Jquery,我正在尝试将事件处理程序绑定到动态添加的元素。但每次选择列表更改时,事件都会额外触发1次。(第一次发射一次,然后发射两次,然后发射三次,等等) $(document).on('change','gender select',function(){ $('.gender select').change(函数(){ 警报($(this).find(“选项:选定”).text(); }); }); -选择性别- 男性的 女的 原因是您正在嵌套事件处理程序。您已将静态事件处理程序放置在委托的事件处理

我正在尝试将事件处理程序绑定到动态添加的
元素。但每次选择列表更改时,事件都会额外触发1次。(第一次发射一次,然后发射两次,然后发射三次,等等)

$(document).on('change','gender select',function(){
$('.gender select').change(函数(){
警报($(this).find(“选项:选定”).text();
});
});

-选择性别-
男性的
女的

原因是您正在嵌套事件处理程序。您已将静态事件处理程序放置在委托的事件处理程序中,因此每次事件发生时,都会添加另一个处理程序。这也是第一次选择选项时不会发生任何事情的原因

要解决此问题,只需删除内部静态事件处理程序:

$(document).on('change','gender select',function(){
console.log($(this.find)(“option:selected”).text();
});

-选择性别-
男性的
女的

原因是您正在嵌套事件处理程序。您已将静态事件处理程序放置在委托的事件处理程序中,因此每次事件发生时,都会添加另一个处理程序。这也是第一次选择选项时不会发生任何事情的原因

要解决此问题,只需删除内部静态事件处理程序:

$(document).on('change','gender select',function(){
console.log($(this.find)(“option:selected”).text();
});

-选择性别-
男性的
女的

这是否回答了您的问题?这回答了你的问题吗?