gpt4 book ai didi

javascript - 帮助!? IE9 : onChange event doesn't fire when value is modified by an onkeydown script and user tabs away

转载 作者:行者123 更新时间:2023-11-28 00:26:22 25 4
gpt4 key购买 nike

我们在 asp.net 中有一个自定义数字文本框。在 oninput 事件中,检查输入是否存在无效字符,并设置文本框的值。处理 OnChange 事件以在用户离开文本框后执行一些操作。这适用于 firefox、chrome 和 IE8。

在 IE9 中,在上一个事件中设置文本后,onchange 事件不再触发。简而言之,这是问题:

<input type="text" onKeyDown="this.value=this.value;" onChange="alert('test');" />

在此示例中,onChange 事件不会在 IE9 中触发。使用什么类型的事件并不重要,OnKeyDown、OnInput、OnPropertyChange 或其他。当您将 OnKeyDown 更改为“”时,OnChange 将触发。

知道为什么这在 IE9 中不再起作用,以及如何解决这个问题?谢谢!

更新:我测试了当我使用 TAB 键离开文本框时 'onChange' 是否触发。当您按下 Tab 键时,onchange 在 IE9 中不会触发,但当您通过在表单上的某处单击鼠标离开文本框时,它会触发。

那么为什么 onchange 事件在鼠标点击离开文本框时触发,而不是通过按 tab 键?

最佳答案

IE9 有一个关于 onchange 事件的错误,因此也许你可以在输入上添加 onpropertychange 事件(绑定(bind)两个事件):

<input type="text" onKeyDown="this.value=this.value;" onChange="alert('test');" onpropertychange="alert('change');" />

这只是一种解决方法,希望对您有所帮助。

关于javascript - 帮助!? IE9 : onChange event doesn't fire when value is modified by an onkeydown script and user tabs away,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5510907/

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