Javascript 当输入字段中的文本发生变化时,如何在html页面中显示警报

Javascript 当输入字段中的文本发生变化时,如何在html页面中显示警报,javascript,html,Javascript,Html,我有一个文本框,我想在文本更改时发出警报,但现在,问题是,当我写11时,它显示两次警报 function onChangeText(){ alert("Please show update buttons"); } 您可以尝试以下方法: ​ 尝试按向上键而不是按更改键 <input type="text" onkeyup="onChangeText()" /> 您可以调用javascriptonblur,而不是像这样调用onchange <

我有一个文本框,我想在文本更改时发出警报,但现在,问题是,当我写11时,它显示两次警报

    function onChangeText(){

       alert("Please show update buttons"); 

    }
您可以尝试以下方法:


尝试按向上键而不是按更改键

<input type="text" onkeyup="onChangeText()" />

您可以调用javascript
onblur
,而不是像这样调用
onchange

<input type="text" onblur="onChangeText();">​
试试这个:

<input type="text" onblur="if(this.value != '') onChangeText();">​

您可以尝试
focusout


查看此

另一种方法是创建全局超时变量,将侦听器绑定到事件。回调函数将重置并检查上一个事件是否在指定时间之前发生(示例中为500毫秒)

正如您可能已经注意到的,onchange示例在单击另一个元素后执行。这是更改事件的默认行为。输入行为不同

例如:


意思是我想在输入字段中输入1,然后它会显示一次警报,但如果我输入11,那么它会显示两次警报,我只想在输入值时显示一次警报,但在输入数据后单击网页时,它会显示警报,我想在输入数据后,它应该显示警报,而不是单击page@user1736928它是因为它会在焦点离开输入框时发出警报,所以只有在输入中文本发生更改时才会发出警报field@user1736928,那么你的要求是什么。。你什么时候需要留言。。。获取onchange、onblur或onchangetext,但当您离开对象而不必更改其值时,将触发onblur事件。仅当您更改字段值时才会调用onChange事件。意思是在我更改文本后,我必须单击任何位置以显示警报是的,我想在更改值后显示警报,但它会在单击任何其他对象后显示警报。我找不到您使用11的两次事例
<input type="text" onblur="if(this.value != '') onChangeText();">​
var timeout;
$("input").on("input", function(event) {
    var value = event.target.value;

    clearTimeout(timeout);
    timeout=setTimeout(function(){
        if(value.length){
            alert(value);
        }
    },500);
});​