JavaScript - 在<input />上运行函数更改 - NO JQUERY

时间:2015-06-12 15:34:31

标签: javascript html function

我想在HTML <input/>标记更改时运行一个函数。我该怎么做呢?有一些答案,但他们都在jQuery,我想要简单的JavaScript。有人能给我一个简单的例子吗?谢谢!

我希望输入为文本类型:

<input type="text" id="change">

2 个答案:

答案 0 :(得分:9)

您可以使用input事件。这不仅会触发按键和粘贴,还会触发其他文本修改事件,例如拖放和播放。下降。

change.addEventListener("input", function (e) {
    alert(this.value);
});
<input type="text" id="change">

答案 1 :(得分:3)

使用addEventListener

document.getElementById('change').addEventListener("keyup", function (evt) {
    console.log(this.value);
}, false);

演示:http://jsfiddle.net/tusharj/y9xcoqja/

文档:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

  

EventTarget.addEventListener()方法在被调用的EventTarget上注册指定的侦听器。事件目标可以是document中的元素,Document本身,Window或支持事件的任何其他对象(例如XMLHttpRequest)。

修改

要在同一元素上绑定多个事件:

var element = document.getElementById('change');

function myEventHandler(event) {

}


element.addEventListener("keyup", function (evt) {
    myEventHandler(evt);
}, false);

element.addEventListener("change", function (evt) {
    myEventHandler(evt);
}, false);