我使用jQuery Raty插件。它很棒,可以完成我需要的大部分工作。我一直在寻找一种解决方案,当用户将光标移到控件上时不突出显示星星。仅仅readOnly: true
使它无效,因为它会禁用我需要处理的click
事件。
我尝试绑定到mouseover
事件:
mouseover: function(score, evt) {
this.score = 0;
}
但是Raty没有将其数据(this.score
)提升回DOM。
然后我尝试处理mouseover
事件来更改每个图片的src
属性:
mouseover: function(score, evt) {
rateControl.children().each(function(img) {
img.attr('src', 'star-off.png');
});
}
同样,没有结果可取。
在没有禁用Raty的click
事件的情况下,我应该怎样考虑禁用星标突出显示?
答案 0 :(得分:1)
刚刚找到解决方案。它似乎是非语义的,虽然它有效。我绝对应该更加关注Raty手册的最后几节。
要禁用星形突出显示,不需要实际禁用它,而是用默认值替换突出显示的星号。要做到这一点,人们想用params启动Raty:
$('#raty').Raty({
starOff: 'star-off.png',
starOn: 'star-off.png',
...
}
Raty将继续处理鼠标悬停事件并更改星标'src
属性,但由于每个人的值保持不变,因此不会发生任何视觉效果。