javascript - 切换类在 jquery 中悬停时不起作用

标签 javascript jquery html css

我需要什么

  • 我需要在点击后使用 toggleclass 切换图像。

    CSS代码

     .favourate{ display:block; background:url('/images/star1.png') no-repeat; width:24px; height:25px; float:right;}
      .favourate.faved, .favourate:active{ background:url('/images/star1_hover.png') no-repeat; transition:.2s ease all;}
    

javascript代码:

 $(document).ready(function(){
var eventData = {};
if (localStorage.getItem('eventData') !== null) {
    $.each(eventData = JSON.parse(localStorage.getItem('eventData')), function(id){
        $('#'+id).addClass('faved');
    });
}
$('.favourate_dextop').click(function(e){
    e.preventDefault();
    if (eventData[this.id] !== undefined) {
        delete eventData[this.id];
    }else{
        eventData[this.id] = $(this).data();
    }
    $(this).toggleClass('faved');
    localStorage.setItem('eventData', JSON.stringify(eventData));
    console.log(eventData);
});  
     });

我尝试过的

  • 我已经尝试在 css 中删除悬停,然后切换类工作正常。 jsfiddle:http://jsfiddle.net/xxuhL555/

  • 这是当我没有在 css 中移除悬停时的 jsfiddle:http://jsfiddle.net/o61rqj95/

  • 我如何通过 css 或 jquery 处理这个问题。

  • 这是toggleclass还是css的问题。

调试

  • 点击图片更改。

  • 然后重新点击红色星号(图片不会改变)。

  • 在移除悬停时它起作用了,这不是我的要求。

输出

  • 它应该类似于在不从图像中移除悬停的情况下切换图像。

最佳答案

在 Chrome 中,Fiddles 在 localStorage 代码上抛出错误,阻止注册点击处理程序。点击事件代码本身工作正常。

关于javascript - 切换类在 jquery 中悬停时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29350588/

相关文章:

javascript - 在 : memory allocation versus large object manipulation 中

javascript - 星系模拟 : Change color of a point and display text on mouseover

javascript - 如何将数组中的数字字符串转换为 JavaScript 中的数字?

php - 如何将 .html() 值从 JavaScript 传递到 CodeIgniter Controller ?

javascript - 从 bootstrap 下拉列表中获取选定的文本

javascript - 向下一级将键/值对添加到 JSON 映射

javascript - 引导设置错误 : Uncaught ReferenceError: jQuery is not defined & Uncaught Error: Bootstrap's JavaScript requires jQuery

javascript - 在 jQuery 中用 TAB 键代码替换 Enter 键代码

javascript - Bootstrap :Go to specific tab using a button in other page

java - 使用 Selenium 在影子 DOM 中查找元素