Я решил открыть новый вопрос, потому что я пытался использовать первую букву слова с 4 или более буквами, за исключением нескольких ключевых слов, и у меня есть для этого рабочий код: http://jsfiddle.net/Q2tFx/11/
$.fn.capitalize = function () {
var wordsToIgnore = ["to", "and", "the", "it", "or", "that", "this"],
minLength = 3;
function getWords(str) {
return str.match(/\S+\s*/g);
}
this.each(function () {
var words = getWords(this.value);
$.each(words, function (i, word) {
// only continue if word is not in ignore list
if (wordsToIgnore.indexOf($.trim(word).toLowerCase()) == -1 && $.trim(word).length > minLength) {
words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1);
}
});
this.value = words.join("");
});
};
$('.title').on('keyup', function () {
$(this).capitalize();
}).capitalize();
Но у меня возникла проблема при запуске функции keyup. Я не могу редактировать что-либо в середине ввода, не установив курсор в конце ввода. И я также не могу "выбрать все".
Я знаю, что есть решения, позволяющие получить положение курсора и позаботиться о таких вещах, но я действительно не знаю, как интегрировать их в свой код.
Любая идея о том, как я могу это сделать?