我正在使用maphilight插件,它适用于具有“usemap”属性的图像,并概述了鼠标悬停在其 map 中定义的区域

(此处的文档:http://davidlynch.org/projects/maphilight/docs/)。

我会用onClick事件而不是“onmouseover”触发高光效果。

我这样做:

jQuery('.area').click(function(e){
    e.preventDefault();

    var data = jQuery(this).mouseout().data('maphilight') || {};
    data.alwaysOn = !data.alwaysOn;
    jQuery(this).data('maphilight', data).trigger('alwaysOn.maphilight');

});

它可以正常工作,但是当我再次单击鼠标时,我想消除高光效果。

有任何想法吗?

最佳答案

查找代码的这一部分并进行更改:

            $(map).trigger('alwaysOn.maphilight').find('area[coords]')
            .bind('mouseover.maphilight', mouseover)
            .bind('mouseout.maphilight', function(e) { clear_canvas(canvas); });

对此:
            $(map).trigger('alwaysOn.maphilight').find('area[coords]')
            .bind('click.maphilight', mouseover)
            .bind('mouseout.maphilight', function(e) { clear_canvas(canvas); });

将“mouseover”事件更改为“click”将达到目的。

10-08 16:40