Итак, у меня есть этот пример jsfiddle, как вы увидите, у нас есть прокручиваемый div
и текстовое поле input
качестве дочернего.
Проблема заключается в следующем: поле ввода должно оставаться внутри контейнера, но при наборе текста div не должен прокручиваться.
Я попытался поймать события keypress
и прокрутить назад, но он прыгает. Кроме того, если вы нажмете left-click
мыши на input
и перетащите вправо, вы увидите прокрутку div.
Этот вопрос (и тому подобное) задавали раньше. До сих пор нет удовлетворительного ответа. Единственное "исправление" - это перемещение input
вне div
. Но в моем конкретном случае это невозможно.
Есть идеи?
Это происходит только с Chrome (я подозреваю, что все браузер веб-браузера, но проверен только в Chrome).
Хм, как только я очистил часть вашей разметки и заменил keyup keydown
keypress
, он намного плавнее......
keyup
и keydown
я пытался заставить его обратно после ввода. Я надеялся, что это произойдет мгновенно, поэтому никто не увидит, как прыгает полоса прокрутки. Я не удовлетворен этим частичным свитком вообще.
/
при создании элементаopen-ended-tag
сopen-ended-tag
(например, для ввода) и неправильного вложения.