Вы можете опрашивать значение ввода. Это было бы менее эффективно и менее оперативно, но потенциально более надежно.
Как вы указали, событие keyup не обязательно сработает при очистке значения ввода. Что если они подсвечивают текст мышью, щелкают правой кнопкой мыши и обрезают?
Событие изменения может помочь, но оно все еще не настолько надежно. Он срабатывает только при размытии и пропускает некоторые изменения (например, выбор автозаполнения).
Вот jsFiddle , демонстрирующее решение для опроса.
В ответ на комментарий Eng.Fouad, вот как добавить JS:
Вы можете поместить его в тег скрипта, например так:
<script type="text/javascript">
//my code
</script>
Это будет работать, но это будет означать, что браузер вашего пользователя не будет кэшировать JavaScript, то есть загрузка вашей страницы займет больше времени. Также лучше отделить ваши сценарии от вашего контента. Но если вы хотите быстрый и простой вариант, это следует сделать. Поместите это внизу своего тела и заверните его в обработчик dom ready (см. Нижнюю часть ответа).
В качестве более чистого варианта вы можете поместить его во внешний файл, например someScript.js, содержимым которого будет ваш JavaScript (без тегов скрипта). Затем вы ссылаетесь на этот скрипт из вашего HTML-файла:
<html>
<head></head>
<body>
<!-- contents of page -->
<script type="text/javascript" src="/path/to/someScript.js"></script>
</body>
</html>
NB. Вам необходимо сделать ваш сценарий доступным через Интернет, чтобы при переходе к http://www.your-site.com/path/to/someScript.js
доступ к сценарию.
Тег script находится внизу тела, поэтому сначала страница загружает реальное содержимое, а затем сценарии. Это будет означать, что ваш контент будет виден вашим пользователям раньше.
Вы должны сделать одну последнюю модификацию JavaScript в jsFiddle. В jsFiddle есть код, выполняющий «onDomReady» (см. Верхнюю левую часть скрипки). Технически, вам не нужно делать это, если у вас есть сценарий после содержимого. Он предназначен для того, чтобы скрипт запускался после загрузки содержимого, чтобы, если скрипт пытается найти элементы в DOM, они были загружены и найдены. Возможно, вам следует добавить это в сценарий на тот случай, если (по какой-то причине) вы переместите сценарий до содержимого. Чтобы обернуть ваш скрипт в обработчик dom ready в jQuery, сделайте следующее:
$(function(){
//my code
});
В этом примере код, помещенный там, где комментарий //my code
, будет выполняться только тогда, когда страница готова.