监听input内容改变的oninput与onpropertychange在ie9的bug

在做autocomplate的时候发现,ie9中,剪切、退格、删除不触发oninput事件,而ie9和ie9+已经移除了onpropertychange事件。

只好尝试添加退格、delete、剪切事件,来触发onpropertychange

 1             var input = $("#J_autocomplete");

 2             var fn = function(){

 3                 // console.log('value changed')

 4             }

 5             input.bind('input.autocomplete',fn)

 6                 .bind('propertychange.autocomplete',function(e){

 7                     if(e.originalEvent.propertyName && e.originalEvent.propertyName == 'value'){

 8                         fn.call(this,e);

 9                     }

10                 });

11                 

12             

13             //ie9支持addEventListener,ie10开始支持FileReader api

14             if(documnt.all && typeof FileReader === 'undefined' && window.addEventListener){

15                 //退格与删除

16                 input.bind("keydown.autocomplete", function(e) {

17                     var key = e.keyCode;

18                     (key == 8 || key == 46) && $(this).trigger('input.autocomplete');

19 

20                 });

21                 //剪切

22                 input.bind("cut.autocomplete", function(e){

23                     $(this).trigger('input.autocomplete')

24                 });

25             }

 

 

你可能感兴趣的:(监听input内容改变的oninput与onpropertychange在ie9的bug)