Я видел здесь вопросы, похожие на мои, но они не дают мне ответа...
Поэтому я делаю следующее: (Внутри функции готовности документа)
$("#dest").focusin(function() {
$("#dest").val($.trim($("#dest").val()));
});
Идея в том, чтобы при фокусе пользователя на input
под названием #dest
обрезать все пробельные символы на нем (ранее добавленные с помощью focusout для визуального удобства).
Сейчас ничего не происходит. :(
Надеюсь, кто-нибудь сможет мне немного помочь.
Спасибо!
Это проблема, связанная с компьютером?. Я проверил все коды, предоставленные комментаторами, и ни один не работает. Я использую Firefox и Safari под OSX (Snow Leopard) 10.6.8, а также Safari под 10.8.2 (Lion), и я получил те же результаты... Проблема с OSX? -- Все в порядке, проверьте мою последнюю правку!
Последняя правка и решение благодаря Филу Кляйну
Моя проблема заключалась в неправильном использовании функции jQuery trim()
... Согласно trim()
документации она делает следующее:
Функция $.trim() удаляет все новые строки, пробелы (включая не разрывные пробелы), и табуляции из начала и конца предоставленной строки. Если эти пробельные символы встречаются в середине строки, они сохраняются. в середине строки, они сохраняются.
Вчера я не прочитал последнюю часть, где говорится от начала и конца поставляемой строки
-- Простите все. :(
К счастью и после рисунка выше, @Phil Klein понял мою ошибку и помог мне с решением:
$(function() {
$("#dest").on("focus", function() {
var dest = $(this);
dest.val(dest.val().split(" ").join(""));
});
});
Вы можете прочитать больше о решении и посмотреть пример здесь.
Спасибо @Phil Klein, а также всем, кто помог мне в этом деле;)