实时获取input输入框中的值需要oninput和onpropertychange属性来实现。原因是onpropertychange属性为IE专属,而oninput属性支持大部分浏览器包括IE9及以上的版本。
oninput与onpropertychange失效的情况:
oninput事件:1. 在脚本中改变value时,不会触发;2.从浏览器的自动下拉提示中选取时,不会触发。
例如:
var testinput = document.createElement(‘input’);
if(‘oninput’ in testinput){
object.addEventListener(“input”,fn,false);
}else{
object.onpropertychange = fn;
}
或者
var ie = !!window.ActiveXObject;
if(ie){
object.onpropertychange = fn;
}else{
object.addEventListener(“input”,fn,false);
}
下面举个具体的例子
var x = $("#inp").val();
$("#imgadd").on("click",function(){
var x = $("#inp").val();
x++;
$("#inp").val(x);
})
$("#imgmus").on("click",function(){
var x = $("#inp").val();
x--;
if (x <= 0){
alert("商品个数不能小于一")
}
else{
$("#inp").val(x);
}
})