背景:
在一次移动端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() {
//进行相关操作
});