我想將文本框中的字符轉換爲大寫。jquery鍵盤功能和大寫文本
但這似乎影響我的光標位置。下面
JS提琴:
$(this).val($(this).val().toUpperCase());
如果我在空白文本框鍵入一切都很好......但如果我嘗試鍵入其間文本光標立即轉到結束這個單詞。
我怎樣才能防止它發生,我的光標應該是我停止打字的地方,而不是在文字的末尾。
在Firefox中工作正常,IE將其擰緊。我需要它的工作在IE
我想將文本框中的字符轉換爲大寫。jquery鍵盤功能和大寫文本
但這似乎影響我的光標位置。下面
JS提琴:
$(this).val($(this).val().toUpperCase());
如果我在空白文本框鍵入一切都很好......但如果我嘗試鍵入其間文本光標立即轉到結束這個單詞。
我怎樣才能防止它發生,我的光標應該是我停止打字的地方,而不是在文字的末尾。
在Firefox中工作正常,IE將其擰緊。我需要它的工作在IE
這也可以通過CSS來實現:
<input style="text-transform: uppercase" type='text'></input>
把這個在你的HTML頁面和文本框將強制所有文字輸入是 大寫。有更多的修飾符:
小寫,大寫,無,繼承
當然,這可能是瀏覽器的依賴,但似乎在大多數 瀏覽器的支持。
我已經更新您的樣品添加文本轉換風格和KEYUP切換jQuery的事件綁定改變: http://jsfiddle.net/ZdRnZ/6/
我在我的css上實現了它,因爲我也有其他字段。奇蹟般有效。謝謝 –
$('#txt').keyup(function (e) {
var position, texto, code;
texto=this.value;
code=e.keyCode;
position=texto.slice(0, this.selectionStart).length;
if((code>=65 && code <=90)|| code ==192){
this.value=texto.toUpperCase();
this.setSelectionRange(position,position);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" id="txt" style="width:100%" />
http://plugins.jquery.com/項目/ jCaret – Benjam
http://stackoverflow.com/questions/2897155/get-caret-position-within-an-text-input-field – Benjam
其實,它也發生在Firefox。我只是將其轉換爲大寫.blur()http://jsfiddle.net/ZdRnZ/3/ – VIDesignz