找回密码
 立即注册

QQ登录

只需一步,快速开始

煎鱼你好

最新发帖
煎鱼你好
注册会员   /  发表于:2018-9-13 08:32:52
11#
ClarkPan 发表于 2018-9-12 14:17
您火狐浏览器版本是多少,我这边测试没问题,版本截图如下:

测试demo地址:

我这边也是最新版本那我再看看吧,如果有问题再向您请教,感谢您的耐心解答~
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-13 12:01:24
12#
不客气,有什么问题欢迎另开新帖进行询问、
回复 使用道具 举报
煎鱼你好
注册会员   /  发表于:2018-9-14 16:09:16
13#
ClarkPan 发表于 2018-9-13 12:01
不客气,有什么问题欢迎另开新帖进行询问、

我这边问题刚刚解决,原因是火狐浏览器的兼容问题,event.preventDefault();这句js代码无法顺利执行,通过重新封装event对象,可以在火狐浏览器顺利打开右键菜单(而不弹出浏览器自带右键菜单)。重新封装event的代码我也一并放在下边啦。最后感谢版主的耐心解答,很给力!
//firefox----这段js重新封装了event对象,经验证可以在火狐下支持

function __firefox(){
    HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
    window.constructor.prototype.__defineGetter__("event", __window_event);
    Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}

function __element_style(){
    return this.style;
}

function __window_event(){
    return __window_event_constructor();
}

function __event_srcElement(){
    return this.target;
}

function __window_event_constructor(){
    if(document.all){
    return window.event;
}

var _caller = __window_event_constructor.caller;
    while(_caller!=null){
        var _argument = _caller.arguments[0];
        if(_argument){
            var _temp = _argument.constructor;
            if(_temp.toString().indexOf("Event")!=-1){
                return _argument;
            }
        }
    _caller = _caller.caller;
    }
    return null;
}

if(window.addEventListener){
    __firefox();
}

来源:https://zhidao.baidu.com/question/513471979.html

评分

参与人数 1金币 +1000 收起 理由
Clark.Pan + 1000 很给力!

查看全部评分

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-14 18:38:18
14#
愧不敢当啊,您很给力才对
回复 使用道具 举报
煎鱼你好
注册会员   /  发表于:2018-9-15 11:06:40
15#
ClarkPan 发表于 2018-9-14 18:38
愧不敢当啊,您很给力才对

哇,突然暴富,谢谢啦
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-9-17 10:22:37
16#
不客气,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部