jquery - 单击另一行时取消突出显示行背景

标签 jquery css contextmenu mousedown

我正在使用 jQuery-contextMenu .我试图在左键或右键单击时突出显示行背景。

$('body').on('mousedown', 'tr', function() {
   $(this).css('backgroundColor', '#000');
});

contextMenu 以某种方式使其不稳定。你能建议我如何在 contextMenu 之前触发背景颜色吗? 请参阅下面的 jsfiddle 以获得更好的主意。我还需要在单击另一行时取消突出显示前一行的背景。

http://jsfiddle.net/0f9Ljfjr/904/

最佳答案

如果您只想让一行在任何给定时间具有背景颜色,这并不是说 jQuery 插件在扰乱您的代码。只是你永远不会“取消”它。我会这样做:

var highlighted;
$('body').on('mousedown', 'tr', function() {
    if(highlighted) highlighted.css('backgroundColor', 'white');
  $(this).css('backgroundColor', 'lightseagreen');
  highlighted = $(this);
});

您存储突出显示的元素,并在每次绘制其他行时将其更改回来。

我已经更新了你的 jsfiddle:http://jsfiddle.net/0f9Ljfjr/909/

关于jquery - 单击另一行时取消突出显示行背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43170820/

相关文章:

html - 如何通过媒体查询消除调整窗口大小时不需要的水平滚动条?

html - <ul> 在 XHTML 和 CSS 中溢出到下一行

javascript - 在 ReactJS 中禁用上下文菜单

java - 如何将不同的菜单项添加到多个上下文菜单?

jquery - 如何为桌面 View 禁用响应式移动菜单 jquery 命令

php - 使用 jquery 添加每个水平和垂直表单输入的值

html - 使绝对定位的 child 随着他们的上级动态调整大小

jquery - 将 CSS3 Pie 与 jQuery BlockUI 结合使用

Jquery:错误:语法错误,无法识别的表达式:[name=someVar]

javascript - 如何在网页中添加自定义右键菜单?