Я видел здесь несколько похожих вопросов, но на самом деле они мне не отвечают ...
Итак, я делаю это: (внутри функции готовности документа)
$("#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 () удаляет все символы новой строки, пробелы (включая
неразрывные пробелы) и вкладки в начале и конце
предоставленная строка. Если эти пробельные символы появляются в середине
строка, они сохранились.
Вчера я не читал последнюю часть, где написано 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, а также всем, кто помог мне в этом;)