关于javascript:TinyMCE:onMouseUp上的图片选择(w??ordpress / contenteditable)

TinyMCE : image selection on onMouseUp (wordpress / contenteditable)

我正在为Wordpress开发自定义TinyMCE编辑器。 WordPress的功能之一是图像标题,它将放在<img>标记周围。

我正在尝试实现以下目标:当用户单击<img>时,我想选择父

为此,我在onMouseDown调度程序上添加了一个自定义处理程序,用于选择标题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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处理程序之后,标题的选择非常好。

然后在mouseUp上都可以在FF上正常工作,但是在Chrome上,当所有onMouseUp处理程序完成时,会选择<img>,从而失去了对标题的优先选择。

但是mouseUp事件是defaultPrevented ...

有什么想法吗?

编辑:
这是一个再现我的问题的jsfiddle:http://jsfiddle.net/nH8fj/5/

当用户单击图像或容器时,应选择整个。在逐步调试中,有效地完成了选择,但是仅选择了图像。

我在Chromium 16.0.912.36 linux上,该错误在最新的Chrome窗口上可重现。


e.target在webkit上有效,但不适用于IE。在那里,您将必须使用e.srcElement。 Chrome可能在这里也有类似的问题。

我在这里找到了Chrome的错误报告:http://core.trac.wordpress.org/ticket/15848