2011-11-18 38 views
2

我想以下幾點:jQuery的綁定改變CSS

$('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/

回答

2

你正在返回處理CSS之前虛假的;

$('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

這是因爲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; 

}); 
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; 

}); 
+0

我已經嘗試過,但事實並非如此工作。 –

+0

@LeonvanderVeen立即嘗試 –

+0

@LeonvanderVeen http://jsbin.com/anasak/edit#javascript,html –

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; 
    } 
});