gpt4 book ai didi

javascript - 设置选择元素的 selectedindex 与使用鼠标选择一个项目有何不同?

转载 作者:可可西里 更新时间:2023-11-01 14:54:37 25 4
gpt4 key购买 nike

在 html 页面中,如果我使用鼠标从下拉列表(select 和 option html 元素)中选择一个项目,那么将触发 onchange 事件。但是,如果我使用 Javascript 更改选择元素的 selectedindex,则不会触发 onchange 事件。

这两个 Action 有何不同?

如何触发 onchange 事件(不是通过显式调用 selectElement.onchange())?

最佳答案

看这个:http://jsfiddle.net/9xe9b/

$("#currency").change(function(){
var val = $(this).val();

$(this).val(formatCurrency(val));
});

$("#infinite").change(function(){
var val = $(this).val();

$(this).val(formatCurrency(val));
$(this).change(); // simulate the change event.
});

function formatCurrency(num) {
num = isNaN(num) || num === '' || num === null ? 0.00 : num;
return parseFloat(num).toFixed(2);
}

如果您在第二个文本框中输入一个值并弹出您的控制台,您将看到此错误:未捕获的 RangeError:超出最大调用堆栈大小

如果更改 javascript 中的值导致触发相关事件,这就是我们不得不担心的。无限循环!

因此,如果您需要在通过 UI 或 javascript 更改值时重复功能,您应该创建一个函数来执行您想要的操作,并在适当的实例中调用它。

关于javascript - 设置选择元素的 selectedindex 与使用鼠标选择一个项目有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12497753/

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