今天在测试项目时, 发现input输入框在 ie9下 输入数据查询后, 删除数据再查询, 查询的还是未删除的数据, input没有更新删除后的数据,
无奈的我去网上找了下, 发现很多人也有同样的问题, 经过踩坑,成功解决bug, 下面把解决的方案发给大家:
1. 原生js写法:
(function (d) {
if (navigator.userAgent.indexOf('MSIE 9') === -1) return;
d.addEventListener('selectionchange', function() {
var el = d.activeElement;
if (el.tagName === 'TEXTAREA' || (el.tagName === 'INPUT')) {
var ev = d.createEvent('CustomEvent');
ev.initCustomEvent('input', true, true, {});
el.dispatchEvent(ev);
}
});
})(document);
2. npm 下载:
npm install --save ie9-oninput-polyfill
下载完成之后引入 :
import 'ie9-oninput-polyfill'