網頁

2015年3月14日 星期六

Javascript學習筆記- change value in IE 7

最近一個案子,因為蠻在意IE的舊版本,如:IE 7。在select中常會使用change再載入另一個select的值,如市及區的連動。但在IE 7發現有個狀況,可以看到下圖的按鈕重疊在上頭。

一開始以為這部分主要是設計師在css上的處理方式有問題,將select的寬度做了固定,而資料的長度又會變動,但後來發現,可能是在處理change event的方式直接使用jquery的change function,而它並沒有相容到ie使用的(如:propertychange | onpropertychange eventonpropertychange event | propertychange event所述)

所以使用上為了能相容,所以改用成底下的方式:
$('#object').bind('propertychange change', function (e) {
   //實際要執行的code   
   $(this).blur();
});

其實在使用上有發現,即使加入了propertychange,可能沒效果,但其實只要滑鼠點擊其他元件就正常了,所以可以看到上述程式加入$(this).blur(),來達到這個效果,這樣就ok了

參考網址:
propertychange | onpropertychange event
onpropertychange event | propertychange event