У меня есть WYSIWYG-редактор с помощью API перетаскивать-отбрасывания HTML 5, чтобы позволить пользователю помещать виджеты в странице, которую они редактируют. Когда событие OnDrop стреляет, я предотвращаю стандартное событие и вставляю некоторый HTML в редакторе, который представляет виджет, который они вставили. Я использую execCommand("inserthtml", false, html)
для этого в Firefox.
Это хорошо работает в IE, но в Firefox HTML не помещается в местоположение, где он был отброшен. Это всегда помещается в местоположение, где предыдущий выбор был, который приводит меня полагать, что отмена события OnDrop для переопределения отбрасывания по умолчанию также отменяет изменение выбора.
Какие-либо идеи о том, как решить это?
Спасибо!
Я ненавижу такие ответы, но должен сказать, что структура событий перетаскивания в jQuery UI довольно проста. Это позволит вам отслеживать используемые вами объекты и быстро добавлять html, о котором вы говорите.
Если вы не знакомы с этим, я думаю, что это отличный вариант для того типа системы, о котором вы говорите.
Ага, или YAHOO предлагает хорошее решение, с примерами на http://developer.yahoo.com/yui/examples/dragdrop/.