右键功能

做前端开发的时候,经常要用到自己页面的右键功能。整理一下,以备以后用到
//实现右键菜单功能---start
var 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');
                    }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值