背景:
在一次移動端H5開發中,需要監聽輸入框值的實時變動。
onchange事件肯定拋棄,因為只能失去焦點才觸發。
而keyPress在Android可以觸發,iOS不可以。
又不想用Android和iOS都可以觸發的keyDown和keyUp。
於是,百度出了新東西:oninput!【需要配合propertychange,兼容 IE9 以下版本】
用法:
JS:
if(isIE)
{
document.getElementById("input").onpropertychange = keys();
}
else
{
document.getElementById("input").addEventListener("input", keys, false);
}
jQuery:
$('input').bind('input propertychange', function() {
//進行相關操作
});
注意,下面的寫法不支持:
//N/A!
$('input').input(function() {
//進行相關操作
});
參考資料:js與jquery實時監聽輸入框值的oninput與onpropertychange方法