2016-01-06 39 views
0

的HTML:射擊輸入更改事件時小數被輸入到輸入的號碼

<input id="example" type="number"/> 

的JS:

$("#example").on("input", function (e) { 
    debugger; 
}); 

問題如下。如果該字段的內容爲1000,並且用戶輸入了十進制(.),則要使其成爲1000.,但它不會觸發Chrome中的input事件。這是正常的嗎?如果是這樣,那我該如何讓它發生事件才能發現它?

+0

你嘗試用「改變」事件呢? –

+0

@NikitaKurtin是的,但它不適合我需要的東西,因爲更改事件不會在輸入文本後立即觸發。 – Alexandru

+0

對我來說,似乎在Chrome「47.0.2526.106 m」上工作得很好。見[這裏](https://jsfiddle.net/ykuhguwo/)(使用Jquery 2.1.4)。這個值是空白的,因爲當你擁有'1000.'時這個數字是無效的,但是它肯定仍然會觸發事件。 –

回答

1

正如前面的評論中提到的那樣,問題在於一個帶有點「。」的數字。 。到底在沒有通過所以這裏的東西,你可以這樣做:

$(function(){ 
 
    var lastNum; 
 
    $("#example").on("input", function (e) { 
 
    if(this.value.length>0)lastNum=this.value;//if value passed in correctly - update it 
 
    console.debug(lastNum);//Do anything with the lastNum 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="example" type="number"/>