jQuery切换和悬停功能

jQuery切换和悬停功能,jquery,hover,toggle,bind,Jquery,Hover,Toggle,Bind,所以我有一个元素,当点击时可以在两种背景色之间切换。但当元素未被选中时,我希望背景颜色在悬停时改变(并恢复)。我尝试在切换中使用.on('hover')和.off('hover'),但似乎只有.off()起作用 $('.element').hover( function() { $(this).css('background', '#e7f1f5'); }, function() { $(this).css('background', '#fff'); } );

所以我有一个元素,当点击时可以在两种背景色之间切换。但当元素未被选中时,我希望背景颜色在悬停时改变(并恢复)。我尝试在切换中使用.on('hover')和.off('hover'),但似乎只有.off()起作用

$('.element').hover(
  function() {
    $(this).css('background', '#e7f1f5');
  },
  function() {
    $(this).css('background', '#fff');
  }
);

$('.element').toggle(
  function( select ) {
    select.preventDefault();
    $(this).off('hover');
    $(this).css('background', '#f6f6f6');
    other.code();
  },
  function( unselect ) {
    unselect.preventDefault();
    $(this).on('hover');
    $(this).css('background', '#fff');
    other.code();
  }
);
我切换“开”,“悬停”事件不再触发(根据需要)。 当我切换“关闭”时,“悬停”事件仍然不会触发

我对jQuery和StackOverflow相当陌生,所以如果这个问题很琐碎,我很抱歉

谢谢

使用css:

.element{
   background-color:#FFF;
}
.element.hover{
   background-color:#e7f1f5;
}
而不是
$(this).off('hover')执行:

$(this).addClass('hover');
$(this).removeClass('hover');
而不是
$(this).on('hover')执行:

$(this).addClass('hover');
$(this).removeClass('hover');

对不起,这不起作用。将元素切换为“开”后,悬停事件将不起作用。这似乎不能解决这个问题。@MichaelChoi try
$(This.hover()
而不是
上的
,我甚至没有想到在css中更改悬停。谢谢