使用JQuery实时大写用户输入的第一个字符

JSP64

我正在尝试自动将用户输入的textarea /输入的第一个字符大写。第一次尝试如下所示:

$(document).ready(function() {
 $('input').on('keydown', function() {
    if (this.value[0] != this.value[0].toUpperCase()) {
        // store current positions in variables
        var start = this.selectionStart;
        var end = this.selectionEnd; 
        this.value = this.value[0].toUpperCase() + this.value.substring(1);
        // restore from variables...
        this.setSelectionRange(start, end);
    }
 });
});

这样做的问题是,它显示小写字符然后纠正它,这很丑陋(http://jsfiddle.net/9zPTA/2/)。我想在keydown而不是keyup上运行我的javascript,并转换飞行中的事件(或拦截它,防止默认事件并触发修改后的新事件)。

这是我现在无法使用的内容(http://jsfiddle.net/9zPTA/5/):

$(document).ready(function() {
  $('input').on('keydown', function(event) {
    if (this.selectionStart == 0 && event.keyCode >= 65 && event.keyCode <= 90 && !(event.shiftKey)) {
       event.preventDefault();
       var myEvent = jQuery.Event('keypress');
       myEvent.target = event.target;
       myEvent.shiftKey = true;
       myEvent.keyCode = event.keyCode;
       $(document).trigger(myEvent);
    }
  });
});

我不确定为什么这行不通-我在这里想念什么?

阴影的

是我制作的小提琴,可以在Chrome中实现您想要的功能。我不确定它是否可以在其他浏览器中使用。

码:

$(document).ready(function() {
    $('input').on('keydown', function(event) {
        if (this.selectionStart == 0 && event.keyCode >= 65 && event.keyCode <= 90 && !(event.shiftKey) && !(event.ctrlKey) && !(event.metaKey) && !(event.altKey)) {
           var $t = $(this);
           event.preventDefault();
           var char = String.fromCharCode(event.keyCode);
           $t.val(char + $t.val().slice(this.selectionEnd));
           this.setSelectionRange(1,1);
        }
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将文本输入的第一个字符大写

来自分类Dev

如何在C输入中大写第一个字符?

来自分类Dev

如何防止用户使用香草javascript输入0作为文本输入的第一个字符?

来自分类Dev

存储用户输入的第一个字符

来自分类Dev

根据用户输入的第一个字符返回 PDO 查询

来自分类Dev

确定字符串的第一个字符是大写还是小写

来自分类Dev

使用switch语句检查字符串的第一个字符是否为大写

来自分类Dev

正则表达式表达大写的第一个字符

来自分类Dev

Sublime Text-使第一个字符大写的命令

来自分类Dev

为什么第一个字符不大写?

来自分类Dev

正则表达式表达大写的第一个字符

来自分类Dev

使用jquery设置段落样式的第一个字符

来自分类Dev

如何使输入字符串按原样使用,而不是仅使用第一个字符?

来自分类Dev

指针的第一个字符

来自分类Dev

使用jQuery将字符串中的第一个字母大写(包含字母和数字)

来自分类Dev

使用jQuery将字符串中的第一个字母大写(包含字母和数字)

来自分类Dev

AutoCompleteTextview不显示第一个字符输入的下拉建议

来自分类Dev

无法从输入React JS的搜索中删除第一个字符

来自分类Dev

PHP Ajax错误,输入第一个字符时得到404

来自分类Dev

reactjs 输入 onChange switchRoute 但丢失了第一个字符

来自分类Dev

程序未读取第一个字符串输入

来自分类Dev

集会以第一个字符搜索用户

来自分类Dev

集会以第一个字符搜索用户

来自分类Dev

使用XSLT 1.0将大写转换为小写,但是第一个字符应保持大写

来自分类Dev

为什么getline在循环中使用时忽略输入的第一个字符?

来自分类Dev

Scala在同一行声明多个变量,第一个字符为大写

来自分类Dev

如何将每一行的第一个字符转换为大写?

来自分类Dev

使用指针交换字符串的第一个字符

来自分类Dev

jQuery自动完成功能从第一个字符开始

Related 相关文章

  1. 1

    将文本输入的第一个字符大写

  2. 2

    如何在C输入中大写第一个字符?

  3. 3

    如何防止用户使用香草javascript输入0作为文本输入的第一个字符?

  4. 4

    存储用户输入的第一个字符

  5. 5

    根据用户输入的第一个字符返回 PDO 查询

  6. 6

    确定字符串的第一个字符是大写还是小写

  7. 7

    使用switch语句检查字符串的第一个字符是否为大写

  8. 8

    正则表达式表达大写的第一个字符

  9. 9

    Sublime Text-使第一个字符大写的命令

  10. 10

    为什么第一个字符不大写?

  11. 11

    正则表达式表达大写的第一个字符

  12. 12

    使用jquery设置段落样式的第一个字符

  13. 13

    如何使输入字符串按原样使用,而不是仅使用第一个字符?

  14. 14

    指针的第一个字符

  15. 15

    使用jQuery将字符串中的第一个字母大写(包含字母和数字)

  16. 16

    使用jQuery将字符串中的第一个字母大写(包含字母和数字)

  17. 17

    AutoCompleteTextview不显示第一个字符输入的下拉建议

  18. 18

    无法从输入React JS的搜索中删除第一个字符

  19. 19

    PHP Ajax错误,输入第一个字符时得到404

  20. 20

    reactjs 输入 onChange switchRoute 但丢失了第一个字符

  21. 21

    程序未读取第一个字符串输入

  22. 22

    集会以第一个字符搜索用户

  23. 23

    集会以第一个字符搜索用户

  24. 24

    使用XSLT 1.0将大写转换为小写,但是第一个字符应保持大写

  25. 25

    为什么getline在循环中使用时忽略输入的第一个字符?

  26. 26

    Scala在同一行声明多个变量,第一个字符为大写

  27. 27

    如何将每一行的第一个字符转换为大写?

  28. 28

    使用指针交换字符串的第一个字符

  29. 29

    jQuery自动完成功能从第一个字符开始

热门标签

归档