Поменять в скрипте обработку правого клика на левый
Вложений: 1
Во вложении у меня стандартный скрипт для создания древовидного меню. Он состоит из 3 файлов: ajax.js, context-menu.js, folder-tree.js.
Не получается в файле folder-tree.js сменить обработку всплывающего меню с правой кнопки мыши на левую. Там написано: if(contextMenuActive)aTag.oncontextmenu = showContextMenu; aTag.onclick = showHideNode; Я меняю на: //if(contextMenuActive)aTag.oncontextmenu = showContextMenu; aTag.onclick = showContextMenu; Но такой вариант не проходит. Буду рад советам.... Заранее спасибо.... |
Оказывается делал правильно, только в файле context-menu.js есть злополучная строка:
document.documentElement.onclick = autoHideContextMenu; которая скрывает меню.... итого нужно как-то по-хитрому переделать функцию: function autoHideContextMenu(e) { if(!contextMenuObj)return; if(document.all)e = event; if (e.target) source = e.target; else if (e.srcElement) source = e.srcElement; if (source.nodeType == 3) // defeat Safari bug source = source.parentNode; var tag1 = source; var tag2 = source; var tag3 = source; if(tag1.parentNode)tag2 = tag1.parentNode; if(tag1.parentNode.parentNode)tag3 = tag1.parentNode.parentNode; if(tag1.tagName!='contextMenu' && tag2.tagName!='contextMenu' && tag3.tagName!='contextMenu')contextMenuObj.style.display='none'; } чтобы она закрывала меню при клике в любое место, но не срабатывала при клике на ссылки меню... |
в функции заменил условие на это:
if(tag1.tagName!='contextMenu' && tag1.tagName!='A' && tag1.tagName!='a' && tag2.tagName!='contextMenu' && tag3.tagName!='contextMenu')contextMenuObj.style.display='none'; работает. |
Вот таким должен быть любой топ;)
|
Часовой пояс GMT +3, время: 22:02. |