Я работаю над собственным редактором TinyMCE для Wordpress.Одной из особенностей Wordpress является Image Caption, который ставит <div>
вокруг тега <img>
.
Я пытаюсь добиться следующего: когда пользователь нажимает на <img>
, я хочучтобы выбрать родителя.
Для этого я добавил специальный обработчик в диспетчер onMouseDown, который выбирает заголовок <div>
.
ed.onMouseDown.addToTop(function(ed, e) {
// Check if it is an image or image with caption
var parents = ed.dom.getParents(e.target,'div.amu_container');
if ( parents.length > 0 ) {
var container = parents[0];
// Correct selection to amu_container
ed.selection.select(container);
// Prevent default
tinymce.dom.Event.cancel(e);
}
});
Все работает нормально: после всех обработчиков onMouseDownзаголовок <div>
удачно выбран.
А затем на mouseUp все отлично работает на FF, но в Chrome, когда все обработчики onMouseUp завершены, выбирается <img>
, теряя предыдущий выбор заголовка<div>
.
Однако событие mouseUp является defaultPrevented ...
Есть мысли?
Редактировать: Вот jsfiddle, воспроизводящий мою проблему: http://jsfiddle.net/nH8fj/5/
Когда пользователь нажимает на изображение или контейнер, следует выбрать целое <div>
.При пошаговой отладке выбор фактически выполняется, но затем выбирается только изображение.
Я нахожусь на Linux с хромом 16.0.912.36, ошибка может быть воспроизведена на последних хромированных окнах.