通过键控时'-'替换空格



你好,我有两个输入,当im在第一个输入中写入时,使用keyup jquery函数im在第二个输入字段中自动写入。

但当我点击空格键时,我想在第二个输入字段中写行而不是空格。

例如:

第一个输入:你好世界,

第二个输入:Hello world

我有以下代码:

$(".firstInput").keyup(function(e) {
val = $(this).val();
if( e.keyCode == 32 ) {
val += "-";
}
$(".secondInput").val( val );
});

这可以简单地使用replace来完成,比如:

$(".secondInput").val( $(this).val().replace(/ /g, "-") );

注意:我建议使用input而不是keyup,因为在跟踪用户输入时会更高效。

希望这能有所帮助。

$(".firstInput").on('input', function(e) {
$(".secondInput").val( $(this).val().replace(/ /g, "-") );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class='firstInput' />
<input class='secondInput' />

$(".firstInput").keyup(function(e) {
val = $(this).val();
val = val.replace(/s/g, '-');
$(".secondInput").val( val );
});

Zakaria Acharki一行代码是最少的代码。。但对于任何一个刚开始的人来说,这可能很难把握。这里有一个对初学者来说更容易遵循的替代方案:

$(".firstInput").keyup(function(e) {
//grab the text, note the use of the var keyword to prevent messing with the global scope
var input1 = $(this).val();
// break the string into an array by splitting on the ' '. Then join the array into a string again with '-' as the glue
input1 = input1.split(' ').join('-');
// or use regex, but regex is a whole other language:  input1 = input1.replace(/ /g, "-") 
//finally place the modified string into its destination 
$(".secondInput").val( input1 );
});

相关内容

  • 没有找到相关文章

最新更新