右键功能

来源:互联网 发布:java的final类 编辑:程序博客网 时间:2024/05/29 05:04
做前端开发的时候,经常要用到自己页面的右键功能。整理一下,以备以后用到
//实现右键菜单功能---startvar keyArray = new Array(    new Array(0, "右键"),    new Array(1, "左键"),    new Array(2, "右键") // 测试在IE7中按右键是2,在Maxthon2.0正式版中是0    //测试同时按两个键更多的表示    //new Array(6, "中键右键同时按"));function GetKeyMessage(button){    for (var i = 0; i < keyArray.length; i++)    {        if (keyArray[i][0] == button)        {            return keyArray[i][1] + ", event.button = " + button;        }    }    return "未知组合键, event.button = " + button;}function Click() {    var e = arguments.callee.caller.arguments[0] || window.event;    var evt = e ? e : (window.event ? window.event : null);    if (evt.button == 2 || evt.button == 0) //按右键,// 测试在IE7中按右键是2,在Maxthon2.0正式版中是0    {        //处理代码        var addToTrTop = 10;        var addToTrLeft = 60;        var preEdit = null;        $("#ad_table td").mousedown(function (e) {            var code;            if (!e) var e = evt;            if (e.keyCode) {                code = e.keyCode;            } else if (e.which) {                code = e.which;            }            var tdData = $("#tmpEditor").val();            var tdData1 = $("#tmpEditor1").val();            if (code == 3) {                var tipStyle = 'top:' + (parseInt($(this).offset().top) + addToTrTop) + 'px;left:' + (parseInt($(this).offset().left) + addToTrLeft) + 'px;';                $("#clickTips").attr('style', tipStyle).show();                return false;            }            if (code == 1) {                if (!$(this).parent().hasClass('editting')) {                    preEdit && preEdit.empty().html($.trim(tdData));                    preEdit = null;                    $("#tmpEditor").parent().html($("#tmpEditor").val());                    $(".editting").removeClass('editting');                    preEdit && preEdit.empty().html($.trim(tdData1));                    preEdit = null;                    $("#tmpEditor1").parent().html($("#tmpEditor1").val());                    $(".editting").removeClass('editting');                    return false;                }            }        }); 
        //删除当前行--start        $("#delete").unbind().click(function () {            //确认删除            $.fancybox({                'autoDimensions': true,                'width': 620,                'height': "auto",                'transitionIn': 'elastic',                'showCloseButton': true,                'showNavArrows': false,                'overlayOpacity': '0.7',                'content': '#yewtan',                'type': 'inline',                'hideOnOverlayClick': false,                'padding':-2,                'border':0            });            $("#queding2").unbind().click(function (){
                doDeleteTrData($("#delete"), 'delete');                $.fancybox.close();            });            $("#quxiao2").unbind().click(function (){
                $.fancybox.close();            });        });    //删除--end;        //编辑当前行        $("#edit").unbind().click(function () {            doEditTrData($(this), 'edit')        });        //  var addTrData = $("tr:first").clone(true).attr('class','newAdd');        var getIndex = function (clickedTd, type) {            var fields = $("#ad_table tr");            var addIndex = -1;            for (var i = 0; i < fields.length; i++) {                var tipStyle = clickedTd.parent().attr('style');                var topValue = 'top: ' + (parseInt(fields.eq(i).offset().top) + addToTrTop);                var ie_topValue = 'top: ' + (parseInt(fields.eq(i).offset().top) + (addToTrTop - 2));                if ((tipStyle.indexOf(topValue) != -1) || (tipStyle.indexOf(ie_topValue) != -1)) {                    switch (type.toLowerCase()) {                        case 'edit':                        case 'delete':                            addIndex = i;                            break;                    }                }            }            return addIndex;        };        var doDeleteTrData = function (clickedTd, type) {            if (getIndex(clickedTd, type) == -1) return false;            else {                var index = getIndex(clickedTd, type);            }            $("#ad_table tr").eq(index).remove();            return false;        };        var doEditTrData = function (clickedTd, type) {            if (getIndex(clickedTd, type) == -1) return false;            else {                var index = getIndex(clickedTd, type);            }            var ss=$("#ad_table").find("tr:eq(" + index + ") td:eq(2)").text();            var inputData='<input id="tmpEditor" type="text" value="'+ss+'">';            var data=$("#tmpEditor").val();            $("#ad_table").find("tr:eq(" + index + ") td:eq(2)").empty().append(inputData.replace('ss', data));            $("#tmpEditor").focus();            var ss2 =$("#ad_table").find("tr:eq(" + index + ") td:eq(1)").text();            var inputData1='<input id="tmpEditor1" type="text" value="'+ss2+'">';            var data1=$("#tmpEditor1").val();            $("#ad_table").find("tr:eq(" + index + ") td:eq(1)").empty().append(inputData1.replace('ss2', data1));            $("#tmpEditor1").focus();            $("#ad_table").find("tr:eq(" + index + ")").addClass('editting');                    }    }}

0 0