我正在测试一个正在使用的评分模块,想到了一个相当简单的结构,该结构可以进行基于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/