Javascript jQuery:$.trim()input.val()中单词之间的空格
我在这里看到了一些类似的问题,但它们并没有真正回答我 所以我在做:(在documentready函数中) ideia是指用户将注意力集中在名为Javascript jQuery:$.trim()input.val()中单词之间的空格,javascript,jquery,trim,Javascript,Jquery,Trim,我在这里看到了一些类似的问题,但它们并没有真正回答我 所以我在做:(在documentready函数中) ideia是指用户将注意力集中在名为#dest的输入上,修剪其上的所有空格字符(之前使用focusout添加以获得视觉舒适性) 现在,什么也没有发生( 希望有人能帮我一点忙 谢谢 这是与计算机相关的问题吗? 我已经测试了评论员提供的所有代码,没有一个有效。我在OSX(雪豹)10.6.8下使用Firefox和Safari,在10.8.2(狮子)下使用Safari,我得到了相同的结果…OSX问
#dest
的输入上,修剪其上的所有空格字符(之前使用focusout添加以获得视觉舒适性)
现在,什么也没有发生(
希望有人能帮我一点忙
谢谢
这是与计算机相关的问题吗?
我已经测试了评论员提供的所有代码,没有一个有效。我在OSX(雪豹)10.6.8下使用Firefox和Safari,在10.8.2(狮子)下使用Safari,我得到了相同的结果…OSX问题?--一切正常,检查我的上次编辑!
最终编辑和解决方案,感谢Phil Klein
我的问题是错误地使用了jQuery的trim()
函数…根据trim()
它执行以下操作:
$.trim()函数用于删除所有换行符、空格(包括
非打断空格),以及从
如果这些空格字符出现在中间
字符串,它们被保留
昨天,我没有阅读最后一部分,其中从所提供字符串的开头和结尾都显示了,
——对不起,各位:(
幸运的是,在上面的抽签之后,@Phil Klein理解了我的错误,并帮助我解决了问题:
$(function() {
$("#dest").on("focus", function() {
var dest = $(this);
dest.val(dest.val().split(" ").join(""));
});
});
你可以
感谢@Phil Klein和所有在这件事上帮助过我的人;)试试这些:$.trim($(“#dest”).val();
如果我错了,请纠正我!!下面的示例删除焦点文本框内容中的所有空格。此特定示例需要jQuery 1.7+,因为它使用了新的.on()
API:
$(function() {
$("#dest").on("focus", function() {
var dest = $(this);
dest.val(dest.val().split(" ").join(""));
});
});
请参阅此示例:如果在页面未完全就绪之前执行上述代码,则jquery很可能找不到#dest
,并且侦听事件的代码也不会执行。此函数对于您的场景来说工作正常。因为它只占用字符之间的一个空格,不允许使用m超过2个空间
$(function() {
$("#dest").on("focusout", function() {
var dest = $(this);
dest.val(jQuery.trim(dest.val()));
dest.val(dest.val().replace(/[ ]{2,}/, ' '));
});
});
试试$(“#dest”).val().trim();
,它对我有用。我创建了自己的函数:)
请看这里:)
也许可以使用其他方法(CSS填充?)实现视觉舒适性。您的函数完全正确,只需使用$(function(){…code…}@Thilo-CSS填充每3个数字?@Nacho已经在$(文档)中.ready
函数。谢谢。你能解释一下你看到了什么结果吗?你的问题到底是什么还不清楚。val()应该可以作为文本字段使用。你在结尾还有一个)
,但是$.trim($(“#dest”).val()代码>仍不工作。。。thanks@TCB13最后的括号是$。如果您想在答案中包含代码,JSFIDLE并不总是可访问的。您的示例不起作用,在Firefox和Safari下进行了测试。无论如何,谢谢。@PhilKlein在你编辑了这篇文章之后,短语前后的空格被删除了,但两个单词之间的空格没有删除。。。查看上面的图片。。。thanks@TCB13现在事情终于开始变得有意义了。您不想修剪空间,而是要删除它们?请参阅以上我的更新。@PhilKlein您的解决方案运行良好,谢谢;)LOL我没有阅读文档的最后两行:从所提供字符串的开头和结尾。如果这些空格字符出现在字符串的中间,它们将被保留。 LoOL抱歉。代码是在<代码>文档准备> /Cuff>函数中,对不起,一开始就不这么说。无论如何,我发疯了,试图将代码放在这个:$(窗口).bind(“load”,function(){
)中,但仍然不起作用。谢谢。这个案例很久以前就已经结束了。我承认之前读错了文档。
$(function() {
$("#dest").on("focusout", function() {
var dest = $(this);
dest.val(jQuery.trim(dest.val()));
dest.val(dest.val().replace(/[ ]{2,}/, ' '));
});
});
function KillSpaces(phrase) {
var totalPhrase = "";
for (i = 0; i < phrase.length; i++)
{
if (phrase[i] != " ")
{
totalPhrase += phrase[i];
}
}
return totalPhrase;
}
$(document).ready(function(){
var test="for testing purposes only";
alert(killSpaces(test));
});