我想将文本框中的字符转换为大写。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