Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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,箭头键(左和右)未在文本字段中导航。此外,在文本字段中放置光标并进行编辑也是不可能的。每次我开始添加字符时,光标都会跳到最后一个。它在firefox中运行良好,但在Chrome和IE中不起作用 $('#idname').bind('keyup blur', function(){ $(this).val( $(this).val().replace(/[^a-z A-Z 0-9]/g,'') ); }); 我使用的是jquery 1.3版。您应该将参数用val()宽度包装成一个类似于此

箭头键(左和右)未在文本字段中导航。此外,在文本字段中放置光标并进行编辑也是不可能的。每次我开始添加字符时,光标都会跳到最后一个。它在firefox中运行良好,但在Chrome和IE中不起作用

$('#idname').bind('keyup blur', function(){ 
  $(this).val( $(this).val().replace(/[^a-z A-Z 0-9]/g,'') ); 
});

我使用的是jquery 1.3版。

您应该将参数用val()宽度包装成一个类似于此fiddle的函数

该函数还接受2个参数,您应该返回更改后的值

这来自文件:

$('input').on('blur', function() {
  $(this).val(function( i, val ) {
    return val.toUpperCase();
  });
});

移除
keyup
,只需保持
blur
。在用户类型中修改值是一件令人讨厌的事情,即使它可以工作……当我删除keyup时,arrow键可以工作,但是正则表达式验证没有发生。它接受所有字符,而不管条件如何。我的重点是仅在用户离开字段时进行验证(在模糊时)。建议将函数传递给
.val()
除非函数实际返回新值,否则将无法工作。此外,如果函数体使用
$(this).val()
,也没有意义——如果您打算这样做,那么最好还是坚持OP所拥有的。也许您是想推荐这样的:
$(this.val)(函数(i,oldVal){return oldVal.replace(…);})?是的,我知道,这只是为了强调函数参数的使用,它必须有一个返回值。为什么这不起作用?它直接从医生那里来。所以你一定有别的东西wrong@RobbieBardijn-我是jquery/js新手。你能谈谈你的观点吗?你的目标是什么?我给出的代码是验证文本字段。问题是,我无法使用左箭头键或右箭头键编辑或移动文本字段。每当我在文本字段中放置光标并尝试插入字符时,光标跳到文本的末尾。这个问题只存在于chrome和IE中。它在mozilla中工作。
$('input').on('blur', function() {
  $(this).val(function( i, val ) {
    return val.toUpperCase();
  });
});