天天看點

event對象在IE和firefox下相容寫法

由于項目需求要求隻能允許使用者輸入數字和小數,用到了event.keycode後IE系列、chrome浏覽器都無問題,在firefox下出現了event not defined的錯誤

原因:火狐下event對象不能通過window.event擷取到,而是在調用函數時以參數的形式傳遞的。

解決方案:将其改為相容的寫法即可。

另外注意: event對象的keyCode屬性在火狐和其他浏覽器下也不同,火狐使用的是event.which,是以這一塊也寫成相容模式

例子:設定文本框隻能輸入數字和浮點數驗證

<script type="text/javascript">
$(function(){
  $('input[type=text]').css('ime-mode','Disabled').val(''); 
  $('input[type=text]').bind('keypress',function(e){
     var e = e || window.event;
    var key = e.keyCode?e.keyCode:e.which;
    return (/[\d.]/.test(String.fromCharCode(key))); 
  });
})
</script>      

朝朝暮暮.

繼續閱讀