* @param {string} url Absolute URL to where the plugin is located.\r
*/\r
init : function(ed) {\r
- var t = this, showMenu, contextmenuNeverUseNative, realCtrlKey;\r
+ var t = this, showMenu, contextmenuNeverUseNative, realCtrlKey, hideMenu;\r
\r
t.editor = ed;\r
\r
*/\r
t.onContextMenu = new tinymce.util.Dispatcher(this);\r
\r
+ hideMenu = function(e) {\r
+ hide(ed, e);\r
+ };\r
+\r
showMenu = ed.onContextMenu.add(function(ed, e) {\r
// Block TinyMCE menu on ctrlKey and work around Safari issue\r
if ((realCtrlKey !== 0 ? realCtrlKey : e.ctrlKey) && !contextmenuNeverUseNative)\r
ed.selection.select(e.target);\r
\r
t._getMenu(ed).showMenu(e.clientX || e.pageX, e.clientY || e.pageY);\r
- Event.add(ed.getDoc(), 'click', function(e) {\r
- hide(ed, e);\r
- });\r
+ Event.add(ed.getDoc(), 'click', hideMenu);\r
\r
ed.nodeChanged();\r
});\r
-\r
+ \r
ed.onRemove.add(function() {\r
if (t._menu)\r
t._menu.removeAll();\r
\r
if (t._menu) {\r
t._menu.removeAll();\r
- t._menu.destroy();\r
- Event.remove(ed.getDoc(), 'click', hide);\r
+ t._menu.destroy();\r
+ Event.remove(ed.getDoc(), 'click', hideMenu);\r
t._menu = null;\r
}\r
};\r