2011-12-23 87 views
4

我有一個HTML表格,專注於點擊表格單元格 - jQuery的

單擊任一單元格的時候,我想強調使用CSS該小區,其他小區被點擊

我想直到,我會將焦點設置該小區,並設置CSS的焦點

,但其沒有工作..

我的代碼去如下:

$('td').click(function (event) { 
    //$(this).tabindex = 0; 
    //$(this).tabindex = 1; 
    $(this).focus(); 
}); 

和css如下

td:focus 
{ 
    background-color:Blue; 
} 

我想,我不能添加類td因爲當其他細胞點擊我不得不刪除這個類的話..

請幫我實現我的要求。

也請讓我知道是否有實現這一目標或任何變通的任何其他方式..

回答

9

嘗試:

$('td').click(function (event) { 
     $('td').removeClass('focus'); //Remove focus from other TDs 
    $(this).addClass('focus'); 
}); 

而且

td.focus { 背景 - 顏色:藍色; }

1

對於初學者來說,:focus用於形式input字段,我懷疑它可以適用於任何其他的元件。你應該用你自己的類:

JS:

$('td').click(function (event) { 
    $('*').removeClass('focus'); 
    $(this).addClass('focus'); 
}); 

CSS:

td.focus { 
    background-color:Blue; 
} 

這樣聚焦td將無焦點的其他任何可能具有.focus類,然後將其設置在選定的元素。

你也可以這樣做:

$('*').click(function(event){ 
    $(this).removeClass('focus'); 
}); 
$('td').click(function (event) { 
    $(this).addClass('focus'); 
}); 

所以點擊任何將取消重點聚焦TD(類似的行爲如何:重點工程對輸入字段或如何:錨標記活躍作品)

1

,如果你想留住人才「集中」,直到你再次點擊則可以使用得心應手toggleClass功能

在這裏看到小提琴例如:http://jsfiddle.net/eVS9f/5/

$("td").click(function() { 
    $(this).toggleClass("focus"); 
    }); 
+0

那不是他所需要的:'當其他單元格點擊時,我必須刪除這個類然後...' – 2011-12-23 08:31:16

+0

我明白,只顯示toggleClass與jsfiddle工作示例來說明點擊/完成我的jsfiddle例子你的答案已經發布,所以我改變它切換併發布在此線程中添加更多信息 – 2011-12-23 08:41:59

+0

好的不錯的工作然後:) – 2011-12-23 08:44:21

相關問題