mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-18 17:05:17 +00:00
commented e.stopImmediatePropagation()
This commit is contained in:
parent
13351528f2
commit
d013d66d65
4 changed files with 60 additions and 26 deletions
|
|
@ -157,6 +157,8 @@ for reading.
|
|||
|
||||
* Fixed bug with getting showed menu in firefox.
|
||||
|
||||
* Commented e.stopImmediatePropagation() of function layerClick
|
||||
in contextmenu file, for correct work of context menu.
|
||||
|
||||
2012.12.12, Version 0.1.8
|
||||
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ var CloudCommander, Util,
|
|||
lElement.addEventListener(
|
||||
pType,
|
||||
pListener,
|
||||
pUseCapture || false
|
||||
pUseCapture
|
||||
);
|
||||
|
||||
Listeners.push({
|
||||
|
|
@ -133,14 +133,13 @@ var CloudCommander, Util,
|
|||
* @param pElement {document by default}
|
||||
*/
|
||||
DOM.addOneTimeListener = function(pType, pListener, pElement, pUseCapture){
|
||||
var lRet = this;
|
||||
|
||||
DOM.addListener(pType,
|
||||
function oneTime(pEvent){
|
||||
DOM.removeListener(pType, oneTime, pElement, pUseCapture);
|
||||
var lRet = this,
|
||||
lOneTime = function (pEvent){
|
||||
DOM.removeListener(pType, lOneTime, pElement, pUseCapture);
|
||||
pListener(pEvent);
|
||||
},
|
||||
pUseCapture, pElement);
|
||||
};
|
||||
|
||||
DOM.addListener(pType, lOneTime, pElement, pUseCapture);
|
||||
|
||||
return lRet;
|
||||
};
|
||||
|
|
@ -158,7 +157,7 @@ var CloudCommander, Util,
|
|||
(pElement || window).removeEventListener(
|
||||
pType,
|
||||
pListener,
|
||||
pUseCapture || false
|
||||
pUseCapture
|
||||
);
|
||||
|
||||
return lRet;
|
||||
|
|
|
|||
|
|
@ -179,13 +179,7 @@ var CloudCommander, Util, DOM, $;
|
|||
},
|
||||
|
||||
// define the elements of the menu
|
||||
items: getAllItems(lMenuItems),
|
||||
events:{
|
||||
hide: function(){
|
||||
var lLayer = DOM.getById('context-menu-layer');
|
||||
DOM.addOneTimeListener('contextmenu', clickProcessing, lLayer);
|
||||
}
|
||||
}
|
||||
items: getAllItems(lMenuItems)
|
||||
};
|
||||
|
||||
return lRet;
|
||||
|
|
@ -222,7 +216,7 @@ var CloudCommander, Util, DOM, $;
|
|||
* is not going on. All magic happening in
|
||||
* DOM tree
|
||||
*/
|
||||
function clickProcessing(pEvent){
|
||||
function clickProcessing(pEvent){
|
||||
/* if clicked on menu item */
|
||||
var lParent = pEvent.target.parentElement,
|
||||
lClassName = lParent && lParent.className;
|
||||
|
|
@ -268,14 +262,53 @@ var CloudCommander, Util, DOM, $;
|
|||
}
|
||||
}
|
||||
|
||||
function __clickProcessing(pEvent){
|
||||
var lLayer = DOM.getById('context-menu-layer');
|
||||
if(lLayer){
|
||||
var lStyle,
|
||||
lParent;
|
||||
|
||||
if(lLayer)
|
||||
lStyle = lLayer.style.cssText;
|
||||
/* hide invisible menu layer */
|
||||
if(lStyle)
|
||||
lLayer.style.cssText = lStyle
|
||||
.replace('z-index: 1', 'z-index:-1');
|
||||
|
||||
var lElement;
|
||||
if(pEvent.$trigger)
|
||||
lElement = pEvent.$trigger[0];
|
||||
else
|
||||
lElement = document.elementFromPoint(pEvent.x, pEvent.y);
|
||||
|
||||
var lTag = lElement.tagName;
|
||||
|
||||
if(lTag === 'A' || lTag === 'SPAN'){
|
||||
if (lElement.tagName === 'A')
|
||||
lParent = lElement.parentElement.parentElement;
|
||||
else if(lElement.tagName === 'SPAN')
|
||||
lParent = lElement.parentElement;
|
||||
|
||||
if(lParent.className === '')
|
||||
DOM.setCurrentFile(lParent);
|
||||
}
|
||||
else
|
||||
DOM.setCurrentFile(lElement);
|
||||
|
||||
/* show invisible menu layer */
|
||||
if(lLayer && lStyle)
|
||||
lLayer.style.cssText = lStyle;
|
||||
|
||||
KeyBinding.set();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function set(){
|
||||
if(!MenuSeted){
|
||||
$.contextMenu(getConfig());
|
||||
|
||||
DOM.addClickListener(clickProcessing);
|
||||
|
||||
MenuSeted = true;
|
||||
DOM.addListener('mousedown', clickProcessing);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -347,19 +347,19 @@ var // currently active contextMenu trigger
|
|||
layerClick: function(e) {
|
||||
var $this = $(this),
|
||||
root = $this.data('contextMenuRoot'),
|
||||
mouseup = false,
|
||||
//mouseup = false,
|
||||
button = e.button,
|
||||
x = e.pageX,
|
||||
y = e.pageY,
|
||||
target,
|
||||
offset,
|
||||
selectors;
|
||||
offset;
|
||||
//selectors;
|
||||
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
//e.stopImmediatePropagation();
|
||||
|
||||
setTimeout(function() {
|
||||
var $window, hideshow, possibleTarget;
|
||||
var $window;//, hideshow, possibleTarget;
|
||||
var triggerAction = ((root.trigger == 'left' && button === 0) || (root.trigger == 'right' && button === 2));
|
||||
|
||||
// find the element that would've been clicked, wasn't the layer in the way
|
||||
|
|
@ -787,7 +787,7 @@ var // currently active contextMenu trigger
|
|||
op = {
|
||||
show: function(opt, x, y) {
|
||||
var $trigger = $(this),
|
||||
offset,
|
||||
//offset,
|
||||
css = {};
|
||||
|
||||
// hide any open menus
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue