百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> JQuery右键菜单插件contextmenu事件控制右键事件
分享文章到:

JQuery右键菜单插件contextmenu事件控制右键事件

发布时间:01/15 来源: 浏览: 关键词:
contextmenu是jquery的一款右击插件了我们可以利用contextmenu来挖掘右击的一些事件,下面我们来看看JQuery右键菜单插件contextmenu使用方法。

新的项目中要求在图片上不能进行点击下载,针对小白进行简单防盗链防下载!我想到了contextmenu事件控制右键事件,且兼容所有主流浏览器。实现原理是绑定contextmenu事件,阻止浏览器的默认事件,显示你的自定义菜单(或者直接阻止,以达到屏蔽右键菜单的效果)。

 代码如下

window.onload = function(e) {
    var showimgtag = document.getElementById('showimgtag'),
        showimgtagF = showimgtag.parentNode,
        menu = document.getElementById('menu');
   
    addHandler(showimgtag, 'contextmenu', function(e){
        e = e || window.event;
        preventDefault(e);
       
        menu.style.left = e.pageX+'px';
        menu.style.top = e.pageY+'px';
        menu.style.display = 'block';
        menu.innerHTML = '© '+'author';
    });
 
    addHandler(menu, 'contextmenu', function(e){
        e = e || window.event;
        preventDefault(e);
    });
 
    addHandler(document, 'mousedown', function(e){
        e = e || window.event;
        var obj = e.srcElement?e.srcElement:e.target;
        if(isChild(menu, obj)){
            return false;
        }
        menu.style.display = 'none';
    });
};
 
function isChild(parent, child) {
    while (child != null) {
        if (child == parent) {
            return true;
        }
        child = child.parentNode;
    }
    return false;
}
 
function addHandler(element, type, handler) {
    if(element.addEventListener){
        element.addEventListener(type,handler,false);
    }else{
        element.attachEvent('on'+type,handler);
    }
}
 
function preventDefault(e){
    e = e || window.event;
    if(e.preventDefault){
        e.preventDefault();
    }else{
        e.returnValue = false;
    }
}

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有6人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板