0
我有三個js的建築模型。對於我的用例,我從建築模型中選擇一個組件,並捕獲組件的uuid
。然後我需要點擊菜單中的按鈕來查看詳細信息。菜單在腳本中插入頁面。 當我點擊按鈕時,它會選擇留在它後面的建築物的組件。因此,我無法訪問我之前選擇的數據。 從透明菜單中選擇三個js對象
在上面的圖片中,例如,我有Buttons1-3。在去按鈕之前,我選擇了建築模型的一個組件。然後,當我點擊任何按鈕時,鼠標也會選擇它後面的建築組件,例如Button1後面的窗口,Button2後面的牆,等等。因此,我無法訪問我之前選擇的組件的uuid
。我怎樣才能防止這?以下是代碼:
JA.addMenu = function() {
JA.menu = JA.container.appendChild(document.createElement('div'));
JA.menu.id = 'movable';
JA.menu.title = 'Move the menu around or click here to close the menu';
JA.menu.addEventListener('mousedown', JA.mouseMove, false);
JA.menu.innerHTML = '<a id=closerIcon href=JavaScript:JA.toggleMenu(); ><p><i class="fa fa-bars"></i></p></a>' +
'<p>' +
'<a href="" title=' + JA.TitleText2 + '>' + JA.TitleText1 + '' + JA.TitleText1 + '</a> ' +
'</p>' +
'<hr>' +
'';
window.addEventListener('mouseup', JA.mouseUp, false);
};
JA.Button1Tab = function() {
var tab = JA.menu.appendChild(document.createElement('div'));
tab.title = 'Button1';
tab.innerHTML =
'<a href=# onclick=JA.toggleDialogs(JA.aboutDialog); ><p class=button >' +
'<i class="fa fa-share-alt"></i> Button1' +
'</p></a>';
JA.aboutDialog = JA.container.appendChild(document.createElement('div'));
JA.aboutDialog.style.cssText = 'display: none; background-color: #ccc; left: 50px; opacity: 0.9; padding: 20px; ' +
'bottom: 0; left: 0; height: 370px; margin: auto; position: absolute; right: 0; top: 0; width: 500px; z-index:10; ';
JA.aboutDialog.innerHTML =
'<h3>' + document.title + ' ' + JA.titleIcon + '</h3>' +
+'<h4>Menu explains the following:</h4>'
'';
};
所以每一個互動操作都在工作(例如旋轉,選擇,平移或其他),忽略前面的菜單? – mrapsogos
所有互動操作在三個j中正常工作。它不會忽略菜單。爲按鈕定義的功能運行良好。對於我的用例,我走進建築模型並選擇模型中的一個組件。然後我點擊按鈕。但是,它會選擇按鈕後面的建築組件,然後運行我爲按鈕 – yalcinm1
aha定義的功能。所以容器和菜單都能正常工作。第一種方法是分離點擊(例如右鍵點擊選擇對象並離開菜單),第二種方法是在菜單可見時拆除容器。告訴我,如果我得到它的權利,或者你想要別的東西。 – mrapsogos