使用 jQuery .keydown() 插入字符后继续输入

Posted

技术标签:

【中文标题】使用 jQuery .keydown() 插入字符后继续输入【英文标题】:Continue typing after inserting character with jQuery .keydown() 【发布时间】:2020-11-05 16:39:58 【问题描述】:

我有一个简单的输入,一旦我开始输入,它就会自动添加字符“@”。到目前为止,我使用 .keydown() 函数获得了 jQuery 所需的一切,但是一旦插入字符“@”,我就无法继续输入。

如何使我可以在@之后继续输入?

let input = document.getElementsByClassName("custom-input");

$("input").keydown(function()
    $(input).val("@");
  );

谢谢

【问题讨论】:

【参考方案1】:

考虑到第一个字符总是@,你可以检查它是否存在

$('.custom-input').on('keydown', function() 
    // custom-input reference
    var $this = $(this);
    if($this.val().charAt(0) === '@') 
        return;
     else 
        $(this).val('@' + $this.val());
    
);

【讨论】:

【参考方案2】:

我找到了我要找的东西。好吧,至少它解决了我的问题。

我刚刚使用了 .focus() 函数,现在一旦我聚焦它就会添加 @ 然后我可以输入。

【讨论】:

以上是关于使用 jQuery .keydown() 插入字符后继续输入的主要内容,如果未能解决你的问题,请参考以下文章

jQuery事件--keypress([[data],fn])和trigger(type,[data])

JQuery:检测输入字段的变化[重复]

jQuery中keyup和keydown的应用? [复制]

Javascript/Jquery 验证按键/keydown 上的十进制输入

keydown,keypress,keyup三者之间的区别

JQuery——键盘事件.keydown().keyup()和.keypress()