jquery绑定更改css

时间:2011-11-18 10:15:09

标签: jquery bind

我正在尝试以下方法:

$('table.table_record_even').bind("contextmenu", function(e) {
    $('#right_menu').css({
        top: e.pageY+'px',
        left: e.pageX+'px'
    }).show();
    return false;

    $(this).css({"background":"#FFFBCC"});

});

当右键单击表格时,css不会改变。有人知道如何解决它?

日Thnx

修改

我已经改变了一点代码,我已经做了一个小提琴来解释一下。如您所见,右键单击删除悬停类有一点问题。

http://fiddle.jshell.net/9Ku7h/5/

4 个答案:

答案 0 :(得分:2)

在处理css之前你返回false;

    $('table.table_record_even').bind("contextmenu", function(e) {
        $('#right_menu').css({
            top: e.pageY+'px',
            left: e.pageX+'px'
        }).show();


        $(this).css({"background":"#FFFBCC"});
    return false;

    });

答案 1 :(得分:2)

$('table.table_record_even').mousedown(function(e) {
    if (e.which === 3) {
        /* Right Mousebutton was clicked! */
        $('#right_menu').css({
           top: e.pageY+'px',
           left: e.pageX+'px'
        }).show();

        $(this).css({"background":"#FFFBCC"});
        return false;
    }
});

答案 2 :(得分:1)

这是因为return语句,只需将其移到函数的底部:

$('table.table_record_even').bind("contextmenu", function(e) {
    $('#right_menu').css({
        top: e.pageY+'px',
        left: e.pageX+'px'
    }).show();
    $(this).css({"background":"#FFFBCC"});
    return false;

});

答案 3 :(得分:1)

尝试:

$('table.table_record_even').bind("contextmenu", function(e) {
    $('#right_menu').css({'position':'absolute',
        "top": e.pageY+'px',
        "left": e.pageX+'px'
    }).show();


    $(this).css({"background":"#FFFBCC"});
    return false;

});