2014-02-12 46 views
0

我有很多日期輸入字段的表單。當只關注輸入字段時,我只想選擇第一個日期的兩個字符(例如,只有日期的日期部分)。我已經完成了這與此代碼:javascript只在輸入焦點上選擇字符串的一部分

$(".date").focus(function() { 
    this.setSelectionRange(0, 2); 
}); 

問題是這隻有當我用鼠標點擊專注於輸入字段。但如果在鍵盤上使用TABULAR鍵在輸入字段之間移動,則會選擇輸入字段中的整個文本。這可以通過JavaScript來控制嗎?

這裏也是JSFiddle,它在上面演示。

回答

0

這聽起來像默認處理程序正在你的後面運行。

防止這種由運行停止瀏覽器的默認處理程序:

$(".date").focus(function(e) { 
    e.preventDefault(); 
    this.setSelectionRange(0, 2); 
}); 
+0

有沒有想過在這一個,但不幸的是沒有幫助。它看起來像只選擇第一個字符雖然,但然後立即選擇整個字符串... –

+0

@PrimozRome我已經測試了更改按http://jsfiddle.net/2KQXT/2/。它似乎在IE11和Firefox 27中工作正常,但在Chrome 32中沒有問題。 – Phylogenesis

+0

Chrome似乎不支持'setSelectionRange()'。 – Phylogenesis