我正在使用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”将达到目的。