2011-12-23 3 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

Try:

$('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 будет unfocus ничего, что могло бы иметь .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

Это не то, что ему нужно: 'когда другая ячейка была нажата, мне нужно удалить этот класс тогда ...' –

+0

Я понимаю, просто показывая toggleClass с рабочим примером jsfiddle, чтобы проиллюстрировать эту альтернативу click-on/click-off, когда i закончил мой пример jsfiddle, ваш ответ уже был отправлен, поэтому я изменил его, чтобы переключить и опубликовать, чтобы добавить дополнительную информацию в эту тему. –

+0

Хорошо, что хорошая работа тогда :) –

Смежные вопросы