![](/img/trans.png)
[英]How to highlight all cells in row on mouse over in CSS Grid (display:grid)
[英]avoid all mouse over, focus highlight CSS/jQuery
我有一個要求,我應避免僅將鼠標懸停在突出顯示的表格行上。
當我使用tab
鍵瀏覽行時,是否高亮顯示在那里。
<table>
<tr><td>Row1</td></tr>
<tr><td>Row1</td></tr>
<tr><td>Row1</td></tr>
</table>
為了突出顯示,我寫了以下規則
table tr:hover{
background: yellow
}
JS小提琴鏈接在這里
鼠標懸停時不突出顯示,但使用TAB時不發生突出顯示。
這是一個純HTML / CSS示例。 您可以簡單地使用pointer-events: none
屬性,然后在:focus
而不是:hover
上設置行的樣式。
這有兩個例子:
結合使用:focus
和在行上設置tabindex
屬性可以解決問題。 我在這里加入了小提琴: https : //jsfiddle.net/3zsc7nok/
編輯
您可以使用jQuery的一點,以防止在默認瀏覽器操作mousedown
該行以防止通過鼠標操作的高亮:
$('tr').on("mousedown", function(event) {
event.preventDefault();
});
在這里更新了Fiddle: https : //jsfiddle.net/s00xgt2s/
為什么不嘗試使用jquery而不是使用普通的CSS? 像這樣
$("tr").keydown(function (e) {
if (e.which == 9) {
$(this).css(" background","yellow");
e.preventDefault();
}
});
請告訴我是否可行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.