我在这里看到过一些类似的问题,但它们并不能真正回答我...

因此,我正在这样做:(在文档准备功能内部)

$("#dest").focusin(function() {
    $("#dest").val($.trim($("#dest").val()));
});

想法是,当用户专注于称为input#dest时,将其上的所有空格字符修剪掉(以前使用focusout进行添加是为了视觉舒适)。

现在,什么都没有发生。 :(

希望有人能在这里对我有所帮助。

谢谢!

这是与计算机相关的问题吗?
我已经测试了评论者提供的所有代码,但均无效。我在OSX(Snow Leopard)10.6.8下使用Firefox和Safari,在10.8.2(Lion)下也使用Safari,我得到了相同的结果... OSX问题? -一切正常,请检查我的上一次编辑!

感谢Phil Klein的最终编辑和解决方案

我的问题是错误地使用了jQuery的trim()函数...根据trim() documentation,它执行以下操作:



昨天我没有读过最后一部分说from the beginning and end of the supplied string的内容-对不起,大家。 :(

幸运的是,经过以上绘制,@ Phil Klein理解了我的错误并为我提供了解决方案:
$(function() {
    $("#dest").on("focus", function() {
        var dest = $(this);
        dest.val(dest.val().split(" ").join(""));
    });
});

您可以read more about the solution and see an example here

感谢@Phil Klein以及所有帮助我完成这一工作的人;)

最佳答案

下面的示例从焦点所在的文本框中删除所有空格。这个特定的示例需要jQuery 1.7+,因为它使用了新的.on() API:

$(function() {
    $("#dest").on("focus", function() {
        var dest = $(this);
        dest.val(dest.val().split(" ").join(""));
    });
});

请参见以下示例:http://jsfiddle.net/RnZ5Y/5/

10-06 07:38