2015-04-11 2 views
1

У меня есть этот код в JQuery:JQuery привязки не работает в IE8

$(function(){ 
         $("#TxtName").bind('input',function(){ 
          if(/[[email protected]#$%^&*)(_+÷×A-Za-z0-9+-\.]/.test(this.value)){ 
           $(".char_test_TxtName").css("visibility","visible"); 
           $(this).val(''); 
          }else{ 
           $(".char_test_TxtName").css("visibility","hidden"); 
          } 
     }); 
    }); 

Может кто-нибудь сказать мне, почему привязка не работает в IE8?

+0

Какую версию jQuery вы используете? – Satpal

+0

bind не поддерживается в IE8 или ниже – Jaco

+0

@Satpal jQuery Version 1.9.1 –

ответ

1

Вы можете использовать .on() вместо .bind().

Попробуйте так:

$("#TxtName").on('input',function(){ 
+0

Я пробовал этот код, но не ответил –

+0

@mohammadbana: - В чем проблема, которую вы получаете? –

+0

Чтобы отфильтровать клавиатуру и отобразить только символы, которые считаются соответствующими сообщениями –

0

Документация mozilla предлагают использовать добавить следующий код в начале вашего скрипта, чтобы частично поддержать метод связывания() в браузерах, которые не (полностью) поддерживают:

if (!Function.prototype.bind) { 
    Function.prototype.bind = function(oThis) { 
    if (typeof this !== 'function') { 
     // closest thing possible to the ECMAScript 5 
     // internal IsCallable function 
     throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); 
    } 

    var aArgs = Array.prototype.slice.call(arguments, 1), 
     fToBind = this, 
     fNOP = function() {}, 
     fBound = function() { 
      return fToBind.apply(this instanceof fNOP 
       ? this 
       : oThis, 
       aArgs.concat(Array.prototype.slice.call(arguments))); 
     }; 

    fNOP.prototype = this.prototype; 
    fBound.prototype = new fNOP(); 

    return fBound; 
    }; 
}http://www.sparxeng.com/blog/software/must-use-net-system-io-ports-serialport 
Смежные вопросы