监听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             }

 

 

posted @ 2013-11-25 11:28  henry_li  阅读(1380)  评论(0编辑  收藏  举报