我有一個文本框,當文本改變時我想要一個警報,但現在問題是,當我編寫11時,它顯示兩次警報。如何在輸入欄中輸入文字時在html頁面中顯示警報
function onChangeText(){
alert("Please show update buttons");
}
我有一個文本框,當文本改變時我想要一個警報,但現在問題是,當我編寫11時,它顯示兩次警報。如何在輸入欄中輸入文字時在html頁面中顯示警報
function onChangeText(){
alert("Please show update buttons");
}
你可以試試這個:My Fiddle
<input type="text" onchange="alert('Hello');">
,但在這裏它顯示警報,當我輸入數據後點擊網頁,我希望當數據輸入後,它應該顯示警報不在點擊頁面 –
@ user1736928這是因爲它發出警報時,它關注輸入它只會在文本在輸入字段 –
@ user1736928中發生變化時發出警報,所以你的需求是什麼......你什麼時候需要消息...或者是onchange,onbl你或onchangetext,但是當你離開對象而不必改變它的值時,onBlur事件被觸發。 onChange事件僅在您更改字段的值時纔會調用。 – Kasma
嘗試安其向上的,而不是平變化
<input type="text" onkeyup="onChangeText()" />
但這樣它也顯示兩次你輸入11 –
我找不到你的兩次11案 – polin
你可以叫你的JavaScript onblur
,而不是像onchange
<input type="text" onblur="onChangeText();">
試試這個:
<input type="text" onblur="if(this.value != '') onChangeText();">
你可以試試focusout
。
看看這個fiddle
另一種方法是創建全局超時變量,綁定監聽器input事件。回調函數將重置timeout並檢查前一個事件是否在指定的時間之前發生過(例如500毫秒)。
正如您可能已經注意到的,在點擊其他元素後執行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);
});
的意思是我想在輸入字段中輸入1,則它示出了警報一次,但如果我安特11則示出了警報2倍我想只顯示其一個時間時值是輸入 –