我有一个文本框,当文本发生变化时我想要一个警告,但现在问题是,当我写11时它会显示两次警告。
function onChangeText(){
alert("Please show update buttons");
}
答案 0 :(得分:1)
您可以尝试:My Fiddle
<input type="text" onchange="alert('Hello');">
答案 1 :(得分:0)
尝试onkey而不是onchange
<input type="text" onkeyup="onChangeText()" />
答案 2 :(得分:0)
您可以拨打您的javascript onblur
而不是onchange
<input type="text" onblur="onChangeText();">
答案 3 :(得分:0)
试试这个:
<input type="text" onblur="if(this.value != '') onChangeText();">
答案 4 :(得分:0)
您可以尝试focusout
。
查看此fiddle
答案 5 :(得分:0)
另一种方法是创建全局超时变量,将侦听器绑定到input事件。回调函数将重置timeout并检查前一个事件是否发生在指定的时间之前(例如500ms)。
您可能已经注意到,在单击其他元素后执行 onchange 的示例。这是更改事件的默认行为。 输入表现不同。
示例:http://jsfiddle.net/Klaster_1/3byVb/
var timeout;
$("input").on("input", function(event) {
var value = event.target.value;
clearTimeout(timeout);
timeout=setTimeout(function(){
if(value.length){
alert(value);
}
},500);
});