修改输入中的值时的Shot事件
Shot event when the value in an input is modified
考虑以下内容:
<input type="text" id="foo" />
我需要的是,当input.#foo
的值更改时,没有模糊,它会触发我的事件。问题来了:我不能使用onkey
事件,因为输入通常由虚拟HTML组成的键盘接收。
我可以很容易地做到,用真正的键盘:
document.querySelector("#foo").addEventListener('keypress', function() {
// Implementation
});
W3C建议使用onchange
,但onchange
只有在blur
事件发生后才有效。我需要onkeypress
和onchange
的混合,以便动态、按时修改,并知道它何时更改。您可以看到:http://jsfiddle.net/zuq733La/
JS Fiddle
使用textInput
,它将检查添加的每个字符
document.querySelector("#foo").addEventListener('textInput', function () {
alert('Value changed!');
});
我能想到的唯一方法(不使用blur
、change
、keypress
、keyup
或keydown
事件)是使用setInterval()
:DEMO
var value=$('#foo').val();
setInterval(function(){
if(value!=$('#foo').val()){
value=$('#foo').val();
//here you need to write what will happen if the value is changed
}
},50);
在DEMO中,您可以看到,即使复制和粘贴文本(仅使用鼠标,即使不模糊输入),事件也会触发。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- $window.ga在AngularJS事件中未定义
- cron作业与Javascript计时事件
- 修改输入中的值时的Shot事件