javascript - 检查 "change"事件是否来自键盘

标签 javascript jquery events onchange

我有 on change 触发器获取事件:

  $(document).on('change', '.class', function (eve) {

我如何通过事件变量知道变化是来自鼠标还是来自键盘?

最佳答案

不,这是不可能的,因为 change 事件可能只在相关元素失去焦点时触发,在使用几种不同的输入法(包括鼠标和键盘)进行多次更改后。

使用此 input 元素进行测试:使用键盘输入一些文本,使用上下文菜单(右键单击)粘贴一些文本,并可能通过用鼠标将它们拖动到不同位置来移动一些字符.然后按下按钮。只有现在你得到了 change 事件:

$(document).on('change', '.class', function (eve) {
    console.log('change event occurred');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="class">
<button>Button</button>

关于javascript - 检查 "change"事件是否来自键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45918980/

相关文章:

javascript - 即使在 CSS 中设置了宽度后,主体宽度仍在扩大

javascript - 在类中使用 for in 循环会导致引用错误

javascript - javascript 中的 2 个字符串之间的比较不起作用

jQuery 查找注册到对象的事件处理程序

java - event.consume()之后如何退出EventHandler?

javascript - 自动选择嵌套在循环中的 li 内的单选按钮

javascript - 我想为每个滚动CSS更改文本

Javascript:根据其他下拉菜单禁用下拉菜单

javascript - 使用 javascript 附加 json 文件

python Tkinter 捕获键盘事件保存为一个字符串