Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Jquery 在按下键时获取文本框值+;多语言支持_Jquery_Textbox_Keypress_Keydown - Fatal编程技术网

Jquery 在按下键时获取文本框值+;多语言支持

Jquery 在按下键时获取文本框值+;多语言支持,jquery,textbox,keypress,keydown,Jquery,Textbox,Keypress,Keydown,我想得到文本的值,包括keydown事件中的字符 $(".searchfield").keydown(function(e) { if (e.which >= 32 || e.which < 127) { var c = String.fromCharCode(e.which); callSearch($(this).val() + c)); } }); $(“.searchfield”).keydown(函数(e){ 如果(e.which>=32 |

我想得到文本的值,包括keydown事件中的字符

$(".searchfield").keydown(function(e) {

  if (e.which >= 32 || e.which < 127) {
   var c = String.fromCharCode(e.which);
       callSearch($(this).val() + c));
  }
});
$(“.searchfield”).keydown(函数(e){
如果(e.which>=32 | | e.which<127){
var c=String.fromCharCode(e.which);
callSearch($(this.val()+c));
}
});
它适用于字符、数字和所有基本字符。32-127 ASCII范围

如果文本框有多语言输入,我不确定这是否有效。非英语字符

有人能分享他们的经验吗


谢谢,

嗯,也许你应该输入你不想触发此函数的字符,比如0-31个ascii字符,然后接受所有其他字符?

这将涵盖西班牙语:

 $(".searchfield").bind("keypress", function(event) {
  var save = false;
  if (window.event) { event = window.event; }

  if (event.keyCode >=  32 && event.keyCode <= 126)      { save = true; }
  else if (event.keyCode == 259)              { save = true; } // Y
  else if (event.keyCode >= 192 && event.keyCode <= 197) { save = true; } // A
  else if (event.keyCode >= 200 && event.keyCode <= 203) { save = true; } // E
  else if (event.keyCode >= 204 && event.keyCode <= 207) { save = true; } // I
  else if (event.keyCode == 209)              { save = true; } // Ñ
  else if (event.keyCode >= 210 && event.keyCode <= 214) { save = true; } // O
  else if (event.keyCode >= 217 && event.keyCode <= 220) { save = true; } // U
  else if (event.keyCode == 221)              { save = true; } // Y
  else if (event.keyCode >= 224 && event.keyCode <= 229) { save = true; } // a
  else if (event.keyCode >= 232 && event.keyCode <= 235) { save = true; } // e
  else if (event.keyCode >= 236 && event.keyCode <= 239) { save = true; } // i
  else if (event.keyCode == 241)               { save = true; } // ñ
  else if (event.keyCode >= 242 && event.keyCode <= 246) { save = true; } // o
  else if (event.keyCode >= 249 && event.keyCode <= 252) { save = true; } // u
  else if (event.keyCode == 253)              { save = true; } // y
  else if (event.keyCode == 255)              { save = true; } // y

  if (save){
    var c = String.fromCharCode(event.keyCode);
   callSearch($(this).val() + c));
  }
 });
$(“.searchfield”).bind(“按键”,函数(事件){
var save=false;
如果(window.event){event=window.event;}
如果(event.keyCode>=32&&event.keyCode=192&&event.keyCode=200&&event.keyCode=204&&event.keyCode=210&&event.keyCode=217&&event.keyCode=224&&event.keyCode=232&&event.keyCode=236&&event.keyCode=242&&event.keyCode=249&&event.keyCode我有类似的需要(包括按键)。我的解决方案只是使用
.keyup
事件。它将包含最后一个字符

$(".searchfield").keyup(function(e) {
    if (e.which >= 32 || e.which < 127) {
        var c = String.fromCharCode(e.which);
        callSearch($(this).val());
    }
});
$(“.searchfield”).keyup(函数(e){
如果(e.which>=32 | | e.which<127){
var c=String.fromCharCode(e.which);
callSearch($(this.val());
}
});
希望这能有所帮助