自制的上下文菜单在野生动物园中自动关闭

时间:2019-11-12 11:51:23

标签: javascript events safari

我有一个带有一系列表的Web应用程序。在这些表的某些单元格上,我定义了一个oncontextmenu-event处理程序:

cell.oncontextmenu = function(e) { 
    e.preventDefault; 
    showTargetCellMenu(event, e.target.id, e.target.innerText); 
    return false; 
};

showTargetCellMenu()将打开一个div,其中包含一系列可供选择的选项(类似于下拉菜单的选项;此处显示很多代码)。 释放鼠标右键后,此上下文菜单应保持可见(就像默认的上下文菜单一样),直到正文收到click事件并调用此函数为止:

function closeTargetCellMenu() {
    let oldMenu = document.getElementById('targetCellMenu');

    if (oldMenu !== null) {
        document.body.removeChild(oldMenu);
    }
}

到目前为止,该功能适用​​于所有浏览器 野生动物园。在野生动物园中,一旦释放鼠标右键,“ targetCellMenu”就会关闭。为什么会这样,如何预防呢?

编辑:显然,仅当使用触摸板+控件右键单击时(在MacBook上),才会出现此问题。使用“真实”鼠标,一切正常。但是,问题仍然仅限于野生动物园。用于右键单击的触摸板+控件可在其他浏览器中完美运行,例如Firefox。

0 个答案:

没有答案