【发布时间】:2011-12-20 04:00:50
【问题描述】:
我在这里看到了一些与我类似的问题,但他们并没有真正回答我......
所以我这样做了:(在文档准备功能内)
$("#dest").focusin(function() {
$("#dest").val($.trim($("#dest").val()));
});
这个想法是当用户关注一个名为#dest 的input 时,修剪其上的所有空格字符(之前为了视觉舒适而添加了focusout)。
现在,什么都没有发生。 :(
希望有人可以在这里帮助我。
谢谢!
这是与计算机有关的问题吗? 我已经测试了评论者提供的所有代码,但没有一个有效。我在 OSX (Snow Leopard) 10.6.8 下使用 Firefox 和 Safari,也在 10.8.2 (Lion) 下使用 Safari,我得到了相同的结果...... OSX 问题? -- 一切正常,检查我上次的编辑!
感谢 Phil Klein 的最终编辑和解决方案
我的问题是错误地使用了 jQuery 的 trim() 函数...根据 trim() documentation 它执行以下操作:
$.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(""));
});
});
你可以read more about the solution and see an example here。
感谢@Phil Klein 以及所有帮助我的人 ;)
【问题讨论】:
-
也许可以使用其他方式(CSS padding?)实现视觉舒适度
-
你的函数是完全正确的,你只需要用$(function(){...code...} 包装一下就可以了
-
@Thilo - CSS 填充每 3 个数字?
-
@Nacho 已经在
$(document).ready函数中。谢谢。 -
您能解释一下您看到的结果吗?目前还不清楚你的问题到底是什么。
标签: javascript jquery trim