Я хочу заголовок формы ввода с использованием библиотеки humanize и JQuery. Пока у меня есть это:
$("#FirstName,#LastName").blur(function () {
Humanize.titleCase( $(this) )
});
но это дает мне ошибку:
humanize.min.js:2 Uncaught TypeError: n.split is not a function
at o (humanize.min.js:2)
at Object.titleCase (humanize.min.js:2)
at HTMLInputElement.<anonymous> (<anonymous>:3:14)
at HTMLInputElement.dispatch (jquery-2.2.4.min.js:3)
at HTMLInputElement.r.handle (jquery-2.2.4.min.js:3)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Humanize.titleCase( $(this) )
должно быть
Humanize.titleCase( $(this).val() );
Обновление после комментария @vlaz
полный код будет примерно таким
$("#FirstName,#LastName").blur(function () {
$(this).val( Humanize.titleCase( $(this).val() ) );
});
Если, скажем, это не span или div, в этом случае это будет .text(). И даже тогда результат нужно будет записать туда, откуда он пришел, иначе обратный вызов фактически ничего не сделает.
Да, но обычно span и div не имеют события blur, если у них нет tabindex 0
.titleCaseпринимает нить, а не HTMLElement и не обернутый jQuery.