Как отловить событие в contenteditable? JavaScript, HTML #695345


#0 by Патчкорд
Как отловить событие окончания редактирования в contenteditable? Например, пользователь поставил курсор в блок с "contenteditable", потом убрал, ничего не должно произойти, но если пользователь поставил курсор в блок contenteditable и что-то изменил, а потом убрал курсор в другое место (т.е. значит закончил редактировать), то должно сработать событие. Пример который не работает: ЗЫ: Как просил модератор, оформил сабж с указанием языка.
#1 by Патчкорд
Ап
#2 by Котокот
keydown, keyup с пасет отца демократии
#3 by Патчкорд
Не помогло. Не срабатывает событие при окончании редактирования.
#4 by Патчкорд
Похоже никак легко не сделать. Придется писать громоздкий говнкод.
#5 by Котокот
Дорабатывай скрипт. Привяжись к движению мыши. Отслеживай последний измененный contenteditable: если после изменения одного из них при следующем нажатии клавиши активный элемент уже не этот contenteditable, значит редактирование завершено. Ну и т.д.
#6 by Патчкорд
не, слишком сложно и не красиво. Было бы что-нибудь подобное oninput
#7 by kokamoonga
Пример с keydown/keyup Событие получения фокуса элементом - onFocus Событие потери фокуса - onBlur Но для отлова редактирования они не особо нужны.
#8 by kokamoonga
теоретически отслеживание изменения по focus/blur может выглядеть так:
#9 by Патчкорд
ну да, как-то так вроде самый короткий вариант. Ничего лучше придумать не получается.
#10 by kokamoonga
Короче вряд ли получится, если речь идет о назначении обработчиков событий. Конечно после прохода Google Closure Compiler можно получить что-то вроде: (function{$("#target");var a=$(".source"),b;a.on("focus",function{b=$(this).html});a.on("blur",function{alert($(this).html===b)})}); но на таких размерах кода это немного нелепо.
#11 by Патчкорд
Действительно, размер кода нелепый. Хочется обойтись одной простой командой.
#12 by sikuda
#13 by kokamoonga
Может вам стоит обойтись без javascript? Тогда не придется писать даже "одну простую команду". Если бы вы потрудились хоть немного изучить вопрос, то поняли бы почему не работает пример из и как заставить его работать Этот код делает ровно половину того, что делает код в - вешает обработчик onBlur. И как он должен решить поставленную задачу?
#14 by sikuda
Как то так
#15 by sikuda
Я думал с contenteditable не будет работать
#16 by kokamoonga
Спасибо, кэп. Чем это отличается от ?
#17 by Патчкорд
И как же заставить его работать??? Я знаю что никак, именно потому что изучал этот вопрос.
#18 by sikuda
Хочется самому все переизобрести ;))) Сейчас понял ответ но ТС этого не понимает
#19 by kokamoonga
а по ссылке сходить? Этот пример, как и пример в , работает именно так как и должен работать. То есть ловит событие ввода в поле. ТС непонятно чего хочет. Три примера, включая его собственный, все рабочие. Вероятно нужен код, который станет телепатировать его пожелания.
#20 by mrkorn
Вероятно, ТС хочет присобачить событие onChange произвольному тегу. Только не хочет понять, что браузеру надо объяснить, что делать. кстати, еще один вариант повесить событие на conteneditable тег со stackoverflow.com правда, только для современных браузеров
#21 by kokamoonga
Вероятно да. Хотя я уже не уверен. Оказывается два обработчика событий это слишком много кода. ТС невдомек, что событие OnChange есть далеко не у каждого тега и что его нужно эмулировать в данном случае.
#22 by Патчкорд
Да... Не думал что вопрос такой сложный для понимания одинесников
#23 by Котокот
Ага, здесь все тупые сидят. Кроме тебя, конечно.
#24 by kokamoonga
дорогой господин д'Артаньян, вы агрессивны и неумны. Вам 4 человека говорят разными словами примерно одно и то же. Что характерно, в профильном сообществе вам говорят то же самое , правда там вы ведете себя поскромнее. P.S.: Я не одинесник. Если уж гребете всех под одну гребенку, то и меня не забудьте - "...для понимания одинесников и гостей нашего форума",- как-то так, а то я чувствую себя незаслуженно обойденным.
#25 by Патчкорд
Еще и хамят. Не форум одинесников, а форум хамов, так надо было назвать сайт.
#26 by sikuda
Да ладно. Немного покритиковали... Мне Волшебник на то что ему не нравить вообще пишет. И поразмыслив я с ним соглашаюсь.
#27 by Патчкорд
Да он вообще беспредельщик. Напридумывал зачем-то правила, которые ни сам, ни модеры не соблюдают. Значит их никто не обязан соблюдать.
#28 by kokamoonga
толсто.
Тэги: Веб-мастеринг
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С