0

我使用 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');
    });
}

同样,没有理想的结果。

click我应该如何考虑在不禁用 Raty 事件的情况下禁用星形突出显示?

4

1 回答 1

1

刚刚找到了解决办法。尽管它有效,但它似乎没有语义。我绝对应该更多地关注 Raty 手册的最后几节。

要禁用星号突出显示,实际上不需要禁用它,而是用默认的星号替换突出显示的星号。为此,需要使用参数启动 Raty:

$('#raty').Raty({
    starOff: 'star-off.png',
    starOn: 'star-off.png',
    ...
}

Raty 将继续处理鼠标悬停事件并更改星星的src属性,但由于每个人的值保持不变,因此没有任何视觉效果。

于 2014-10-02T07:27:05.823 回答