使用 oninput 事件处理程序和 onkeyup/onkeydown 作为其回退
HTML5 标准化了 oninput
事件处理程序,它应该用于检测 JavaScript 中的用户输入。 当然,我们可以改用 onkeydown
或 onkeyup
,但它们从来都不是真正为这个特定用例设计的,它显示了这一点。
幸运的是,所有现代浏览器都支持 oninput
,包括 IE9。 例如,对于较旧的浏览器,回退到 keydown
事件是个好主意。 不幸的是,检测 oninput
支持并不像你想象的那么简单。 我假设这个 JavaScript 片段会返回 true 或 false,这取决于是否支持 oninput
:
'oninput' in document.createElement('input');
这在大多数浏览器中都能正常工作,但在 Firefox 中却不行。 虽然仍然可以为 oninput
编写一个可用的功能测试,但这真的很麻烦。
此外,不需要功能测试——只需将处理程序绑定到输入和按键事件,然后在 oninput
处理程序触发后立即删除 onkeydown
处理程序。 这是一个简单的示例,DOM0 样式:
someElement.oninput = function() {
this.onkeydown = null;
// Your code goes here
};
someElement.onkeydown = function() {
// Your code goes here
};
keydown
事件只会触发一次(因为它在 oninput
之前触发)——之后,只会使用 oninput
。 这并不理想,但它肯定胜过添加一行又一行的代码以正确检测所有浏览器中的 oninput
支持。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法