jQuery:input.val()中单词之间的$ .trim()空格

TCB*_*B13 12 javascript jquery trim

我在这里看到了一些类似的问题,但他们并没有真正回答我......

所以我这样做:(在文档就绪函数内)

$("#dest").focusin(function() {
    $("#dest").val($.trim($("#dest").val()));
});
Run Code Online (Sandbox Code Playgroud)

当用户专注于input#dest调整的所有空格字符(之前使用焦点添加以获得视觉舒适度)时,意识形态就是这样.

现在,什么也没发生.:(

希望有人能在这里帮助我一点.

谢谢!


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


最终编辑和解决方案归功于Phil Klein

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

$ .trim()函数从提供的字符串的开头和结尾删除所有换行符,空格(包括不间断空格)和制表符.如果这些空格字符出现在字符串的中间,则会保留它们.

昨天我没有看到它说的最后一部分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("")); 
    });
});
Run Code Online (Sandbox Code Playgroud)

您可以阅读有关解决方案的更多信息,并在此处查看示例.

感谢@Phil Klein和所有帮助过我的人;)

Phi*_*ein 18

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

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

看这个例子:http://jsfiddle.net/RnZ5Y/5/


Jig*_*ank 5

试试这些:$.trim($("#dest").val());
如果我错了,请纠正我!!