Javascript Jquery切换类问题

Javascript Jquery切换类问题,javascript,jquery,Javascript,Jquery,最初悬停有效,mouseenter上添加了“over”类,mouseout上删除了“over”类,但在使用class=“risk”对段落进行悬停后,toggle类会被卡住,mouseover将其删除,而不是添加类(与预期功能相反) //将鼠标悬停在上方时更改风险贴图点颜色 //右侧的风险列表项 $(“p.risk”).bind(“mouseenter mouseleave”,函数(e){ $(this.toggleClass(“over”); var pointId=“ctl00\u Conte

最初悬停有效,mouseenter上添加了“over”类,mouseout上删除了“over”类,但在使用class=“risk”对段落进行悬停后,toggle类会被卡住,mouseover将其删除,而不是添加类(与预期功能相反)

//将鼠标悬停在上方时更改风险贴图点颜色
//右侧的风险列表项
$(“p.risk”).bind(“mouseenter mouseleave”,函数(e){
$(this.toggleClass(“over”);
var pointId=“ctl00\u ContentPlaceHolderMain”+$(this.attr(“id”);
var pointArray=$(“.riskMapPoint”);

对于(i=0;i为什么不为
mouseenter
mouseleave
设置两个单独的函数。设置
mouseenter
添加类和
mouseleave
删除类。我认为问题在于,例如,如果
mouseleave
事件未触发(浏览器失去焦点,我认为可能导致此问题)然后,
mouseenter
函数将删除类,而不是添加类。

为什么不为
mouseenter
mouseleave
使用两个单独的函数呢?让
mouseenter
添加类和
mouseleave
删除类。我认为问题在于,例如,
mouseleave
event未启动(我认为浏览器失去焦点可能导致此问题),则
mouseenter
函数将删除类而不是添加它。

为什么不简单地使用hover方法?在hover上设置关联点的背景/z索引,并在离开元素时将其删除

$('p.risk').hover(
     function() {
        var $this = $(this);
        $this.addClass('over');
        $('.riskMapPoint')
                 .find('[id$=' + $this.attr('id') + ']')
                 .css({ 'background-color' : '#3D698A', 'z-index' : 2 } );
     },
     function() {
        var $this = $(this);
        $this.removeClass('over');
        $('.riskMapPoint')
                 .find('[id$=' + $this.attr('id') + ']')
                 .css({ 'background-color' : '#000000', 'z-index' : 1 } );
     }
});

为什么不简单地使用hover方法呢?在hover上设置关联点的background/z-index,并在离开元素时将其删除

$('p.risk').hover(
     function() {
        var $this = $(this);
        $this.addClass('over');
        $('.riskMapPoint')
                 .find('[id$=' + $this.attr('id') + ']')
                 .css({ 'background-color' : '#3D698A', 'z-index' : 2 } );
     },
     function() {
        var $this = $(this);
        $this.removeClass('over');
        $('.riskMapPoint')
                 .find('[id$=' + $this.attr('id') + ']')
                 .css({ 'background-color' : '#000000', 'z-index' : 1 } );
     }
});

尝试不更改代码中的css值,而是使用jquery添加类和removeClass。几个月前我遇到了悬停问题,应用css类而不是手动更改值解决了我的问题。

尝试不更改代码中的css值,而是使用jquery添加类和removeClass。几个月前我遇到了悬停问题使用css类而不是手动更改值解决了我的问题。

浏览器中的JavaScript错误控制台中有错误吗?@shawn:您不应该回滚编辑,您知道,编辑它是有原因的。@shawn:编辑是为了解决代码的格式问题,使其更具可读性。是的,shawn。您不明白rul吗这个游戏的错误?不,埃里克,我显然不知道。哈哈,我是堆栈溢出新手,不知道“回滚”按钮会做什么。现在我知道浏览器中的JavaScript错误控制台中有错误吗?@shawn:你不应该回滚编辑,你知道,它被编辑是有原因的。@shawn:编辑是为了修复代码的格式问题,以确保它更具可读性。是的,肖恩。你不知道这个游戏的规则吗?不,埃里克,我显然不知道。哈哈,我是堆栈溢出新手,不知道回滚按钮会做什么。现在我完全知道了。分开两个,玩结果,看看它是否表现出相同的行为。完全正确。分开两个,玩结果,看看它是否表现出相同的行为同样的行为。