【问题标题】:jQuery Maphilight. Toggle alwaysOn before highlighting new onejQuery Maphilight。在突出显示新之前切换alwaysOn
【发布时间】:2014-04-18 09:26:50
【问题描述】:

将鼠标悬停在新区域或选择新区域时关闭选定区域。

我正在使用 jQuery Maphilight 来突出显示地图上的选定区域。我已经成功添加了一个点击状态,所以当用户点击它时,地图的区域仍然是高亮的。但是当他们点击第二个和第三个区域时,第一个区域仍然突出显示,这是我不想要的。

如何切换此 alwaysOn 属性以关闭所有元素。我似乎无法弄清楚。

谢谢。

.bind('click.maphilight', function(e) {     
    e.preventDefault();
    var data = $(this).mouseout().data('maphilight') || {};
    data.alwaysOn = !data.alwaysOn;
    $(this).data('maphilight', data).trigger('alwaysOn.maphilight');
})

【问题讨论】:

    标签: jquery maphilight


    【解决方案1】:

    最好以供将来参考。

    // Turn off all
    $("area").data('maphilight', { alwaysOn: false }).trigger('alwaysOn.maphilight');
    
    // Turn on one
    $("area[data-id=" + id + "]").data('maphilight', {alwaysOn: true}).trigger('alwaysOn.maphilight');
    

    【讨论】:

      【解决方案2】:

      找到可能对我有用的解决方案:

      .bind('click.maphilight', function(e) {     
                          $(this).data('maphilight', { 
                                alwaysOn: true 
                          }).trigger('alwaysOn.maphilight');
                          //check if area wasnt already selected - otherwise gets buggy
                          if( !$(this).hasClass('selected') ){ 
                            $('.selected').data('maphilight', {
                                alwaysOn: false
                            }).trigger('alwaysOn.maphilight');
                            $('#map-tag area').removeClass('selected');
                            $(this).addClass('selected');
                          }
                      })
      

      【讨论】:

      • 它有点马车,虽然
      猜你喜欢
      • 1970-01-01
      • 2017-09-12
      • 1970-01-01
      • 2012-06-18
      • 2021-12-20
      • 2015-12-06
      • 2015-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多