簡體   English   中英

jQuery:input.val()中單詞之間的$ .trim()空格

[英]jQuery: $.trim() spaces between words in input.val()

我在這里看到了一些類似的問題,但他們並沒有真正回答我......

所以我這樣做:(在文檔就緒函數內)

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

意思是當用戶專注於一個名為#destinput修剪它上面的所有空格字符(之前使用焦點輸出來增加視覺舒適度)。

現在,什么也沒發生。 :(

希望有人能在這里幫助我一點。

謝謝!


這是計算機相關的問題嗎? 我已經測試了評論者提供的所有代碼,但都沒有。 我在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("")); 
    });
});

您可以閱讀有關解決方案的更多信息,並在此處查看示例

感謝@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/

試試這些: $.trim($("#dest").val());
如果我錯了,請糾正我!

嘗試$("#dest").val().trim(); ,它對我有用。

此功能適用於您的方案。 因為它在字符之間只占用一個空格而不允許超過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));
});

如果您的代碼在頁面未完全就緒之前正在執行,則很可能jquery找不到#dest ,並且不會執行用於偵聽事件的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM