使用Javascript封装实现屏蔽鼠标右键系统键菜单,并绑定自定义的事件

/**
 * 使用Javascript封装实现屏蔽鼠标右键系统键菜单,并绑定自定义的事件
 * @type 
 * 用法:
 *    $.hideMouseUpMenu();屏蔽鼠标右系统键菜单
 *    $.addMouseEvent(id,obj) 绑定事件 id 为元素ID string类型,obj为对象类型,至少有一个名为fn的函数(配置项)
 */
var $  = {
    hideMouseUpMenu:function(){
        //屏蔽右键菜单
        document.oncontextmenu = function (event){
            if(window.event){
                event = window.event;
            }try{
                var the = event.srcElement;
                if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
                    return false;
                }
                return true;
            }catch (e){
                return false; 
                } 
        }
    },
    //给指定ID的元素绑定鼠标右事件
    addMouseEvent:function(id,obj){
        $.hideMouseUpMenu();
        document.getElementById(id).onmouseup=function(oEvent) {  
            if (!oEvent) oEvent=window.event;  
            if (oEvent.button==2) { 
                obj.fn();
                }   
        } 
    }
}
/* Eg:
 * $.addMouseEvent('myPanel',{  myPanel为ID
            fn:function(){
                //右键后要执行的方法
                alert(1);
            }
        });
 * 
 */

 

posted @ 2013-08-17 18:32  telzhou  阅读(616)  评论(0编辑  收藏  举报