Скрипт не реагирует на программные изменения поля INPUT (решение)

Разрабатывая сайт для клиента, столкнулся с неприятной ситуацией — jquery скрипт отказывался отлавливать изменение текстового input-a, который изменялся сторонним скриптом (автозаполнение). Обычно, подобные проблемы решаются элементарным jQuery(‘body’).on(‘change’, ‘.buttom_update’, function(){, однако, в моем случае подобная конструкция не приносила результата, тогда, погуглив, нашел решение http://jsfiddle.net/VHgkN/21/ , однако, его также пришлось допиливать. В результате у меня вышло следующее:

(function($){
/* код ниже включает отлавливание */
var oldVal = $.fn.val;
$.fn.oldVal = oldVal;
$.fn.val = function(value){
    if(!value)
        return this.oldVal();
    else {
        return this.each(function(){
        $(this).oldVal(value);
        $(this).change();
        });
    }
};
/* end код ниже включает отлавливание */
$(document).ready(function(){
    $(‘#calendar’).change(function(){
    /* Тут обработчик события */
    });
});

Сам html код инпута выглядел так:

<div class="sobytiya-navbar">
<input id="calendar" name="date" value="Выбор даты" type="text" /></div>
</div>

На него я «вешал» jquery календарь simpleDatepicker. Т.е. при клике на инпут под полем появлялся календарик, в котором человек выбирал необходимую ему дату.


2022-06-03 | | 0 комментариев | Кодинг | ,

Рейтинг:

Похожие записи

Исправляем работу jQuery в WordPress

Частенько бывает, что некоторые jQuery скрипты на WordPress отказываются работать, хотя сам скрипт явно рабочий т.к. без WP работает на ура. Причины могут быть самые...

При выполнении ajax в WordPress перезагружается страница (решение)

Когда мы вешаем аякс обработчик на кнопку submit, может возникнуть проблема из-за которой страница будет перезагружена и в адресную строку передадутся данные по методу GET-запрос,...

Как сделать адаптивное меню без скриптов (инструкция)

Чаще всего при разработке раскрывающегося мобильного меню применяют пару строк js-кода, который реагирует на клик (равно касание) по кнопке, отвечающей за раскрытие меню. После касания,...

Добавить комментарий

Ваш адрес email не будет опубликован.