2012-12-28 27 views
0

我想避免輸入在文本框中輸入的信息。 文本框字段是爲美國格式的電話號碼,因此我通過JQuery添加 - (短劃線)後的第3和第6位,這是自動添加用戶輸入,但我不希望用戶輸入 - (破折號)手動通過鍵盤。preventDefault()不要在Mozilla中啓動

$("#someID").keydown(function (e){ 
if(e.keyCode==189){ 
    e.preventDefault(); 
}else{ 

    var myLength = $(this).val().length; 
    var text1=$(this).val(); 
    if((myLength==3)){    
     $(this).val($(this).val()+'-'); 
       }else if(myLength==7){ 
        $(this).val($(this).val()+'-'); 
       } 
    } 
}); 

189鍵代碼 - (破折號/連字符)

+0

代碼工作對我來說...你有什麼具體的問題? – ryadavilli

+0

你有最新的jQuery嗎? –

+0

至少在我的Firefox(Mac OS X)中,破折號的關鍵代碼是173 ...只是爲了告訴你爲什麼它不起作用。 –

回答

2

jQuery的標準化which屬性,你可以改用的keyCode這個屬性:

if (e.which === 189) { 

您也可以考慮使用Masked Input插件。

+0

感謝您的幫助! –

+0

它完成了!我必須使用e.which == 189用於IE和e.which == 173用於Mozilla。 –