Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在文本框中输入文本时,如果字母表前面有空格,请将字母表输入大写_Javascript_Jquery - Fatal编程技术网

Javascript 在文本框中输入文本时,如果字母表前面有空格,请将字母表输入大写

Javascript 在文本框中输入文本时,如果字母表前面有空格,请将字母表输入大写,javascript,jquery,Javascript,Jquery,如果前面有空格,我想让用户在文本框中输入的字母大写 示例用户写“testnew”,所以“n”应该是大写字母,并且它将非常平滑,用户感觉就像按下了shift键 我认为我们可以在keydown事件(jquery)中做同样的事情 我试过的代码是: $('.name').live("keydown", function (e) { try { if ($('.name').val().length > 1) { if ($('.name').val().substring(

如果前面有空格,我想让用户在文本框中输入的字母大写

示例用户写“testnew”,所以“n”应该是大写字母,并且它将非常平滑,用户感觉就像按下了shift键

我认为我们可以在keydown事件(jquery)中做同样的事情

我试过的代码是:

$('.name').live("keydown", function (e) {
  try {
    if ($('.name').val().length > 1) {
      if ($('.name').val().substring($('.name').val().length - 1) == " ") {
        // HERE can we do something like e.shift key etc to get desired result
      }
    }
  } catch (err) {
    alert(err);
  }
});
尝试:

演示:备选方案

​.name {
    text-transform:capitalize;
}

我对@AlexK的答案的简洁性感到惊讶,但是如果您真的需要第一个单词小写(或者只是想要其他形式的文本无缝控制),请尝试以下jQuery:

$(function(){
    $("textarea").bind("keypress", function(e){              
        var cap = "";
        if(e.which >= 97 && e.which <= 122) {
            cap = String.fromCharCode(e.which).toUpperCase();
        }
        if( cap != "" ) {
            var text = $(this).val();
            if( text[text.length-1] == " ") {
                $(this).val(text+cap);
                return false;
            }
        }
    });        
});​
$(函数(){
$(“textarea”).bind(“按键”,函数(e){
var cap=“”;

如果(e.which>=97&&e.which如果要使其像shift键一样工作,则必须检查ASCII值,然后减去32或16。@Kamal Deep Singh:Yes观察ASCII值应得到~chal saale:D(Utsav)做得好,但不流畅用户第一次看到的是大写字母,延迟了。用户必须直接看到大写字母,这给了他感觉。她按了大写键,因为这是requirement@KamalDeepSingh您可以使用
input
事件。尽管您会在IE(+1 nice catch;)中遇到问题(虽然第一个字符不应该大写,我猜)@AlexK。我不敢相信。你是天才,只是一个纯粹的CSSGreattttttttttt答案,但Alex K的答案仍然是最好的。但是你的答案对其他人还是很有帮助的
$(function(){
    $("textarea").bind("keypress", function(e){              
        var cap = "";
        if(e.which >= 97 && e.which <= 122) {
            cap = String.fromCharCode(e.which).toUpperCase();
        }
        if( cap != "" ) {
            var text = $(this).val();
            if( text[text.length-1] == " ") {
                $(this).val(text+cap);
                return false;
            }
        }
    });        
});​