我正在测试一个正在使用的评分模块,想到了一个相当简单的结构,该结构可以进行基于ajax的平滑投票,但发现有些奇怪。

结构是两个div,一个嵌套在另一个中以显示星星,将鼠标悬停在设置宽度上,稍后将其转换为百分比。

在测试中,我发现一切正常,但是当我单击鼠标时,它有时会使内部DIV复位,这就是如果我将鼠标移出时的宽度,我不知道我为什么会这样。我包括了一个可行的例子。

http://www.nogumallowed.com/test.php

最佳答案

这是固定代码:

$(".ratingsBlock").mousemove(function(e){
    $(".ratingsScale").width(e.offsetX);
});

$(".ratingsBlock").click(function(e){
    $(this).attr("score",e.offsetX);

});

$(".ratingsBlock").mouseleave(function(e){
    $(".ratingsScale").width($(this).attr('score'));
    //$(".ratingsScale").animate({width:$(this).attr('score')+'px'}, 500);
});


我将mouseOut函数更改为mouseLeave,并在单击.ratingsBlock时更新了评分的分数。

mouseOut有时很奇怪...

关于javascript - 点击也会触发Chrome中的mouseout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17976049/

10-10 17:13