как я могу заблокировать события flexslider, в момент ввода текста в textarea
Привет, ребята нужна помощь, у меня есть модальник со слайдером (flexslider) в этом модальнике есть textarea для ввода коммента к картинке, глюк в том что когда вводится текст и необходимо с помощь клавы переместится по тексту (влево/вправо) срабатывает событие prev() и next() в слайдере.
Подскажите есть ли возможность на время ввода текста отрубить все события слайдера, пытался с помощью .off() ничего не выходит:( Может просто скажете хоть в какую сторону копать. Спасибо |
<textarea onkeypress="event.stopPropagation()"></textarea> <script> document.body.onkeypress = function(){alert();}; </script> |
Lemme,
Это отменит вообще клавиатурные кнопки управления, чего можно и не писать, такое можно задать в настройках плагина этого. |
laimas, с плагином не знаком, но показал лишь пример использования stopPropagation.
Цитата:
<textarea></textarea> <script> document.body.onkeypress = function(){alert();}; document.querySelector('textarea').onkeypress = function(e) { if (e.keyCode === 37 || e.keyCode === 39) { e.stopPropagation(); } } </script> |
Если так, то лучше проверять родителя источника события, то есть форму, чтобы и на input не реагировать. Да и такую проверку в код плагина добавить. )
|
Цитата:
|
Наверное, но уж лучше пусть этому поводу запрашивает помощь, а не помнить постоянно о внешних добавках. :D
|
спасибо за ответ, но вариант с stopPropagation к сожалению не работает
|
Откройте код плагина и найдите в нем строку
if(!a.animating&&(39===t||37===t)) измените ее на if(!$(e.target).closest('form').length&&!a.animating&&(39===t||37===t)) Это с учетом того, что блокируется обработка именно полей формы, иначе нужно проверять источник события на его тип - e.target.tagName. |
спасибо, большое, вот это помогло.
|
Часовой пояс GMT +3, время: 02:12. |