Кто-нибудь знает, почему событие не всплывает, когда щелкает часть текстового поля
Похоже, что это ошибка, специфичная для Firefox, затрагивающая как ввод текста, так и текстовые области. Вы можете воспроизвести его всего несколькими строками кода, это не связано с jQuery или не связано с плагином:
<form onclick="alert('hello')">
<input type="text" value="hello!" onfocus="this.value=''">
</form>
(Хотя я думаю, что у плагина есть некоторые довольно существенные проблемы. Он забывает использовать 'var' для локальных переменных, позволяя им просачиваться в глобальную область. Это приводит к сбою нескольких элементов '.blur' на одной странице. Плюс «пустые» значения будут по-прежнему отправляться в форму в виде строки заголовка, и вы не сможете различить «реальные» значения, введенные пользователем, которые соответствуют строке заголовка.)
Событие не вспыхивает, только когда значение входа изменилось в событии фокуса . Предположительно, я предполагаю, что Firefox внутренне распознает, что click () произошел с текстом внутри ввода, и ожидает, что это событие всплывет у каждого из его предков. Но когда событие click у ближайшего родителя вызывает срабатывание onfocus, эта функция удаляет текст из своего родителя. Теперь для события click ничего не произошло, нет родительской цепочки, через которую можно всплыть.