2011-09-12 52 views
1
工作

我不能得到.change()在Internet Explorer 9中它可以在所有其他瀏覽器(我已經試過)的輸入工作,但不是IE 9獲取「變」在IE9

<html> 

<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> 
</head> 

<body> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $('.myInput').change(function() { 
     alert("hi"); 
    }); 
}); 
</script> 

<input class="myInput" /> 

</body> 

</html> 

有沒有想法?

+0

你對「it works」的定義是什麼? – Jon

+1

您正在使用jQuery 1.4.4版本..嘗試獲取最新版本,例如1.6.3 – Samich

+1

您還缺少'DOCTYPE'聲明,您最好添加它。 –

回答

0

對不起。就像你說的那樣工作。問題是,我還有一個輸入的驗證腳本,其調製表達式在IE9(但在IE8中)中不起作用。 非常感謝你......

1

只要告訴IE瀏覽器,它的文本框,通過添加適當的屬性:

<input class="myInput" type="text" /> 

編輯:同時還更好的做法是指定類型,這是沒有問題的,它works fine在IE9對我來說,這麼喜歡喬恩問道:「不工作」是什麼意思?

-2

使用按鍵而不是更改。

$('.myInput').keypress(function() { 
    alert("hi"); 
}); 
+1

OP顯然希望在輸入發生變化時觸發該功能 –

0

它工作時,我測試一下:http://jsfiddle.net/Guffa/WUEXD/

我會建議你在頁面上一個文檔類型,這將是XHTML文檔類型,你在你的代碼中使用XHTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

爲了避免挑剔瀏覽器的問題,把輸入的形式,並設置type屬性:

<form> 

<input type="text" class="myInput" /> 

</form> 
+0

使用XHTML是沒有意義的,除非您不關心IE,並且您的服務器配置爲發送正確的MIME類型的XHTML,而這通常不是這種情況。 –

+0

@Tim Down:可能是,但代碼是XHTML,所以它應該有一個匹配的文檔類型。 – Guffa

+1

同意它需要一個doctype,但代碼不一定是XHTML。 ''是有效的HTML5。 –