私はここで私に似た質問をいくつか見ましたが、彼らは本当に私に答えません...
だから私はこれをやっています:(ドキュメント準備機能内)
_$("#dest").focusin(function() {
$("#dest").val($.trim($("#dest").val()));
});
_
イデアは、ユーザーが_#dest
_と呼ばれるinput
に焦点を合わせ、その上のすべてのスペース文字をトリムするときです(視覚的な快適さのためにfocusoutを使用して以前に追加されました)。
現在、何も起きていません。 :(
誰かがここで少し助けてくれることを願っています。
ありがとう!
これはコンピューター関連の問題ですか?コメンターが提供するすべてのコードをテストしましたが、動作しません。 FirefoxとSafariをOSX(Snow Leopard)10.6.8で、またSafariを10.8.2(Lion)で使用していますが、同じ結果になりました... 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(""));
});
});
_
@Phil Kleinと、これを手伝ってくれたみんなに感謝します;)
以下の例は、フォーカスがあるテキストボックスのコンテンツからすべてのスペースを削除します。この特定の例では、新しい.on()
APIを使用するため、jQuery 1.7以降が必要です。
$(function() {
$("#dest").on("focus", function() {
var dest = $(this);
dest.val(dest.val().split(" ").join(""));
});
});
この例を参照してください: http://jsfiddle.net/RnZ5Y/5/
これらを試してください:$.trim($("#dest").val());
間違っている場合は修正してください!!
$("#dest").val().trim();
を試してください、それは私のために働いた。
上記のコードがページの準備が完全に整っていない前に実行されている場合、#dest
はjqueryによって検出されず、イベントをリッスンするためのコードは実行されません。
この関数は、シナリオに適しています。文字間にスペースを1つだけ使用し、2つ以上のスペースを許可しないため
$(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));
});