【问题标题】:Disable stars highlighting but enable click even for jQuery Raty plugin禁用星星突出显示但即使对于 jQuery Raty 插件也启用点击
【发布时间】:2014-10-02 07:00:51
【问题描述】:

我使用 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 事件的情况下,我应该如何禁用星标突出显示?

【问题讨论】:

    标签: javascript jquery raty


    【解决方案1】:

    刚刚找到解决方案。尽管它有效,但它似乎没有语义。我当然应该更多地关注 Raty 手册的最后几节。

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-02
      • 1970-01-01
      • 2015-11-07
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-25
      • 1970-01-01
      相关资源
      最近更新 更多