gpt4 book ai didi

javascript - 如何使用jQuery来防止空格键进入空格?

转载 作者:可可西里 更新时间:2023-11-01 01:37:35 24 4
gpt4 key购买 nike

我认为在表单输入中劫持空格键是一件简单的事情,这样它就可以像连字符一样工作。通常 jQuery 使这样的事情变得非常简单。

我试过的代码是这样的:

        $("#StreamUrl").keydown(function (e) {
if (e.keyCode == 32) return 109;
});

但这没有任何效果。我尝试了一个更简单的脚本:

        $("#StreamUrl").keydown(function (e) {
//if (e.keyCode == 32) return 109;
alert(e.keyCode);
});

此脚本正确地提醒 32 空格键和 109 连字符键。另外,我没有 JavaScript 错误。

为什么 if (e.keyCode == 32) return 109; 不起作用?当我用 if (e.keyCode == 32) alert("space!!"); 替换该行时,我正确地收到了警报,所以我知道 if 是正确返回 true

什么给了?

编辑 - 解决方案

感谢@Nick 指出复制粘贴问题。我最终得到了一点混合动力。这是我已经开始工作的代码,它既流畅又可以处理复制/粘贴。

        $("#StreamUrl").keydown(function (e) {
if (e.keyCode == 32) {
$(this).val($(this).val() + "-"); // append '-' to input
return false; // return false to prevent space from being added
}
}).change(function (e) {
$(this).val(function (i, v) { return v.replace(/ /g, "-"); });
});

最佳答案

问题是 return 109 没有按照您的意愿执行。在事件处理程序中,返回 true 或 false 取决于您是否希望浏览器执行默认操作。在 keydown 中,您将返回 false 以防止插入字符。

$("#StreamUrl").keydown(function (e) {
if (e.keyCode == 32) {
$(this).val($(this).val() + "-"); // append '-' to input
return false; // return false to prevent space from being added
}
});

jsfiddle example

关于javascript - 如何使用jQuery来防止空格键进入空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com