按键+符号上的Javascript,如何检索
目前,我的输入密钥
有以下脚本<script type="text/javascript">
$(document).ready(function() {
$(function(){
$("input[type=text]").keyup(function(e){
if(e.keyCode == "13")
{
var nextIndex = $(this).prop('tabindex') + 1;
var selectedId = $(this).prop('id');
var rowSplit = selectedId.split("_");
var rowIn = rowSplit[1];
if(selectedId.indexOf("big") > -1)
{
bigFunction(rowIn)
$('[tabindex=' + nextIndex + ']').focus();
}
$("form :input").on("keypress", function(e) {
return e.keyCode != 13;
});
});
</script>
我想让它适用于例如
我有一个maxlength 4的文本字段
我输入4个随机数,例如1234然后我按下字母+符号,我想将焦点更改为下一个tabindex
我该怎么做,多亏了这么多帮助!!
答案 0 :(得分:0)
我可能会这样做。仅示例:
$('#element').keypress(function(){
var v = $(this).val();
if(v.charCodeAt(v.length-1) === 43){
// + was pressed
}
});
答案 1 :(得分:0)
密钥代码是一个整数,你第二次正确编写它。但第一个使用"13"
。
if(e.keyCode == 13)
可能会更好。 +
符号代码也是43(0x2B)。在JavaScript中,您也可以使用'+'.charCodeAt(0)
,但当然要长得多。
此外,当您按Enter键时,除非您取消默认行为,否则将触发默认按钮:
e.preventDefault();
e.stopPropagation();
取消+
的默认行为也有助于避免输入中出现+
。
要在至少有4个字符(数字)时触发自动标签功能,您需要检查输入框值的长度。使用jQuery可能就是这样:
if($(this).val().length >= 4) ...
否则看起来您已经获得了所需的大部分代码,尽管您的代码示例目前缺少一个右大括号(}
),所以我不太确定我可以帮助修复代码它的方式。