我有什么方法可以创建一个侦听输入的常量函数,因此当该输入值更改时,会立即触发某些操作?
我正在寻找使用纯JavaScript,无插件,无框架且无法编辑HTML的东西。
某事,例如:
当我更改输入中的值时MyObject,此函数运行。
有什么帮助吗?
Answers:
这就是事件的目的。
HTMLInputElementObject.addEventListener('input', function (evt) {
something(this.value);
});
作为一个基本的例子...
HTML:
<input type="text" name="Thing" value="" />
脚本:
/* event listener */
document.getElementsByName("Thing")[0].addEventListener('change', doThing);
/* function */
function doThing(){
alert('Horray! Someone wrote "' + this.value + '"!');
}
这是一个小提琴:http : //jsfiddle.net/Niffler/514gg4tk/
默认用法
el.addEventListener('input', function () {
fn();
});
但是,如果要在通过JS手动更改输入值时触发事件,则应该使用自定义事件(任何名称,例如“ myEvent” \“ ev”等),如果您需要侦听“ change”或“ input”事件形式然后通过JS更改输入值-您可以将自定义事件命名为“更改” \“输入”,它也将起作用。
var event = new Event('input');
el.addEventListener('input', function () {
fn();
});
form.addEventListener('input', function () {
anotherFn();
});
el.value = 'something';
el.dispatchEvent(input);
https://developer.mozilla.org/zh-CN/docs/Web/Guide/Events/Creating_and_triggering_events