我可以在imagemap区域元素上有一个onclick事件

我想在一个区域元素上放一个onclick事件。 这是我的设置:

    

我尝试了两种不同的方式来进行onclick事件。 首先我试过这个:

 $(".blue").click( function(event){ alert('test'); }); 

我也试过这个:

 function myFunction() { alert('test'); } 

以上工作都没有。 区域元素是否支持上述元素,或者它们仅支持具有href?

提前致谢!

请注意:

  1. 属性href是强制性的,没有它,区域标签什么都不做!

  2. 要添加单击事件,您需要阻止默认href。


您的代码应如下所示:

 $(".blue").on("click", function(e){ e.preventDefault(); /* your code here */ }); 

这里的实例。

根据您的意见,您只需要:

 $("#image").click( function(){ alert("clicked"); //your code here }); 

演示:

http://codepen.io/tuga/pen/waBQBZ

试试:

 Weels  otherThing  

你不想在区域,文档上添加onClick事件:

标签定义图像映射内的区域(图像映射是具有可点击区域的图像)。

编辑:你的坐标有点奇怪,因为它应该是每个顶点的夫妻(所以现在,你的多边形是一条线)

它的形状是问题所在。 您的代码设置的形状等于多边形,但坐标属性中只有4个点。 您需要将形状设置为矩形。

像这样设置shape =“rect”:

我通过@TimorEranAV HTML地图发现了这个问题, 它显示文本而不是链接到URL并被标记为重复,但我认为他所期待的是这个,

    Program - Image Map   Planets  Sun Mercury    

这里标题标签提供了将hover文本(提示)添加到图像映射的机会。

对要监听的所有元素使用类,并可选择使用行为属性:

     350 x 150 pic  

然后将您的事件侦听器添加到类中的所有元素:

 const popable = document.querySelectorAll('.popable'); const popup = document.querySelector('.popup'); let lastClicked; popable.forEach(elem => elem.addEventListener('click', togglePopup)); function togglePopup(e) { popup.innerText = e.target.dataset.text; // If clicking something else, first restore '.hidden' to popup so that toggle will remove it. if (lastClicked !== e.target) { popup.classList.add('hidden'); } popup.classList.toggle('hidden'); lastClicked = e.target; // remember the target } 

演示: https : //codepen.io/weird_error/pen/xXPNOK

这很简单: