提交 168ea325 编写于 作者: 许恒

[fixed] by xuheng

上级 b8369b3e
......@@ -19,7 +19,16 @@ UE.plugins['shortcutmenu'] = function () {
}
me.addListener ('contextmenu mouseup keydown' , function (type , e) {
var me = this;
var me = this,
customEvt = {
type : type ,
target : e.target || e.srcElement ,
screenX : e.screenX ,
screenY : e.screenY ,
clientX : e.clientX ,
clientY : e.clientY
};
setTimeout (function () {
var rng = me.selection.getRange ();
if (rng.collapsed === false || type == "contextmenu") {
......@@ -36,26 +45,31 @@ UE.plugins['shortcutmenu'] = function () {
me.fireEvent ("afterrendershortcutmenu" , menu);
}
menu.show (e , !!UE.plugins['contextmenu']);
if (type == 'contextmenu') {
domUtils.preventDefault (e);
if (browser.ie) {
var ieRange;
try {
ieRange = me.selection.getNative ().createRange ();
} catch (e) {
return;
}
if (ieRange.item) {
var range = new dom.Range (me.document);
range.selectNode (ieRange.item (0)).select (true , true);
}
}
}
menu.show (customEvt , !!UE.plugins['contextmenu']);
}
});
if (type == 'contextmenu') {
domUtils.preventDefault (e);
if (browser.ie) {
var ieRange;
try {
ieRange = me.selection.getNative ().createRange ();
} catch (e) {
return;
}
if (ieRange.item) {
var range = new dom.Range (me.document);
range.selectNode (ieRange.item (0)).select (true , true);
}
}
}
if (type == "keydown") {
menu && !menu.isHidden && menu.hide ();
}
......
......@@ -63,12 +63,16 @@
}
});
domUtils.on (doc , "mouseout" , function (e) {
var relatedTgt = e.relatedTarget || e.toElement;
if (relatedTgt == null || relatedTgt.tagName == "HTML") {
me.hide ();
}
});
//ie下 mouseout不准
if (!browser.ie) {
domUtils.on (doc , "mouseout" , function (e) {
var relatedTgt = e.relatedTarget || e.toElement;
if (relatedTgt == null || relatedTgt.tagName == "HTML") {
me.hide ();
}
});
}
me.editor.addListener ("afterhidepop" , function () {
......@@ -137,6 +141,7 @@
setPos (offset);
}
me.eventType = e.type;
el.style.cssText = "display:block;left:-9999px";
......@@ -154,13 +159,13 @@
offset.top -= el.offsetHeight + me.SPACE;
offset.left += me.SPACE;
setPos (offset);
me.setOpacity (el , 0.2);
}
me.isHidden = false;
me.left = e.screenX + el.offsetWidth / 2 - me.SPACE;
me.top = e.screenY - (el.offsetHeight / 2) - me.SPACE;
me.setOpacity (el , 0.2);
if (me.editor) {
el.style.zIndex = me.editor.container.style.zIndex * 1 + 10;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册