Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery更改触发器太频繁_Javascript_Jquery_Onchange - Fatal编程技术网

Javascript Jquery更改触发器太频繁

Javascript Jquery更改触发器太频繁,javascript,jquery,onchange,Javascript,Jquery,Onchange,我正在使用jQuery 1.7.2,并为这样一个类获得了一个on change事件: $(document).on('change', '.item_amount', function(){ }); 同一页面上的许多选择都具有该类,如果我更改其中一个选择,则更改事件会触发X次,如果我更改其中一个选择(X是具有该类的选择数),但我只希望它触发一次,因为只有一个选择已更改 这是正常的行为还是我做错了什么 编辑: 问题似乎在别的地方。包含select的元素被插入(Ajax调用),当其中一个元素被插

我正在使用jQuery 1.7.2,并为这样一个类获得了一个on change事件:

$(document).on('change', '.item_amount', function(){

});
同一页面上的许多选择都具有该类,如果我更改其中一个选择,则更改事件会触发X次,如果我更改其中一个选择(X是具有该类的选择数),但我只希望它触发一次,因为只有一个选择已更改

这是正常的行为还是我做错了什么

编辑:

问题似乎在别的地方。包含select的元素被插入(Ajax调用),当其中一个元素被插入到dom中时,所有现有元素都会触发change事件

所以基本上我得到了1号选择,其中包含一些产品。当选择一个产品时,HTML代码被插入到保存所有当前产品的div中。发生这种情况时,将触发该div中所有产品上的更改事件。

用于引用更改功能块中更改的当前元素

-->JavaScript或本机Dom元素

$(this)
->您的jQuery对象

$(document).on('change', '.item_amount', function(){
    alert(this.value);
    console.log(this);
});

设定目标。是否更改元素并将其作为参数传递给函数

这段代码是否在循环中看起来像上面的代码在循环中执行了很多次,但可能无法重现。共享测试用例。这是a中的代码-每次更改只触发一次事件。Per@ArunPJohny,是循环吗?我对我的问题进行了编辑。我希望这有助于找到问题,这有助于找到真正的问题。我在编辑中描述了它。