更新记录

03/17 00:12:解决滚动页面后右击菜单栏出现在顶部。解决办法将 e.clientY 换成 e.pageY

在线预览:https://nowtime.cc/mdui/contextmenu.html

核心 JavaScript 代码:

    var $$ = mdui.JQ;
    //监听鼠标右击事件 / 移动端长按事件
    $$(document).on('contextmenu', function (e) {
        // console.log(e);

        //0:移动端长按(iOS 测试未通过)
        //2:电脑端右键
        if(e.button === 2 || e.button === 0) {
            e.preventDefault();//阻止冒泡,阻止默认的浏览器菜单

            //(修改了这里)鼠标点击位置,相对于页面
            var _x = e.pageX,
                _y = e.pageY;

            let $div = $$("<div></div>").css({
                position: 'absolute',
                top: _y+'px',
                left: _x+'px',
            });
            $$('body').append($div);//创建临时DOM

            // anchorSelector 表示触发菜单的元素的 CSS 选择器或 DOM 元素
            // menuSelector 表示菜单的 CSS 选择器或 DOM 元素
            // options 表示组件的配置参数,见下面的参数列表
            // 完整文档列表:https://doc.nowtime.cc/mdui/menu.html
            var inst = new mdui.Menu($div, '#menu');
            inst.open();//打开菜单栏
            $div.remove();//销毁创建的临时DOM
        }
    });

完整 HTML代码

- 阅读剩余部分 -

有2种解决办法

1. 重装系统

2. 修复 Windows 注册表文件

当您进入欢迎屏幕以单击下一步,然后单击窗口左下角的修复计算机。然后单击 “疑难解答” > “高级选项” > “命令提示符”。
现在,一旦打开命令提示符窗口,按照给出的顺序逐个执行以下命令:

CD C:\Windows\System32\config
ren C:\Windows\System32\config\DEFAULT DEFAULT.old
ren C:\Windows\System32\config\SAM SAM.old
ren C:\Windows\System32\config\SECURITY SECURITY.old
ren C:\Windows\System32\config\SOFTWARE SOFTWARE.old
ren C:\Windows\System32\config\SYSTEM SYSTEM.old

完成这些后,按给定的顺序逐个输入这些,按照给出的顺序逐个执行以下命令:

copy C:\Windows\System32\config\RegBack\DEFAULT C:\Windows\System32\config\
copy C:\Windows\System32\config\RegBack\SAM C:\Windows\System32\config\
copy C:\Windows\System32\config\RegBack\SECURITY C:\Windows\System32\config\
copy C:\Windows\System32\config\RegBack\SYSTEM C:\Windows\System32\config\
copy C:\Windows\System32\config\RegBack\SOFTWARE C:\Windows\System32\config\

最后,键入exit以关闭“命令提示符”窗口。然后重启即可

- 阅读剩余部分 -