2013-06-28 2 views
0
$(":input").change(function() {alert("hello");} 

Основная идея заключается в том, что ввод изменяется, выполняет функцию. Но это не сработает с IE8, когда я изменил некоторые слова во входном текстовом поле, функция не была запущена. Это не происходит с другими версиями IE (9+) или других браузеров.

+1

Какая версия jQuery? – JJJ

+3

$ ("input"). Change (function() {alert ("hello");} попытаться удалить двоеточие на входе –

+0

jQuery версия 1.7.2 – ificanwarptime

ответ

2

Возможно, это проблема с самим событием. может быть, попробовать:

var ie8 = /msie 8/gi.test(window.navigator.userAgent); 

$("input").bind(ie8 ? 'propertychange' : 'change', function() { 
    alert("hello"); 
} 

Редактировать Примечание: Новые версии JQuery принять этого сами!

А для нижнего IE8, если это необходимо:

вар Lowie =/(MSIE 6 7 | 8) /gi.test (window.navigator.userAgent);

$("input").bind(lowIE ? 'propertychange' : 'change', function() { 
    alert("hello"); 
} 
+0

Propertychange работал для меня. ! – ificanwarptime

+0

в один прекрасный день microsoft будет быть наказанным за это: D – Alex

+0

@Alex marvelous :) –