我可以在imagemap区域元素上有一个onclick事件
我想在一个区域元素上放一个onclick事件。 这是我的设置:
我尝试了两种不同的方式来进行onclick事件。 首先我试过这个:
$(".blue").click( function(event){ alert('test'); });
我也试过这个:
function myFunction() { alert('test'); }
以上工作都没有。 区域元素是否支持上述元素,或者它们仅支持具有href?
提前致谢!
请注意:
-
属性href是强制性的,没有它,区域标签什么都不做!
-
要添加单击事件,您需要阻止默认href。
您的代码应如下所示:
$(".blue").on("click", function(e){ e.preventDefault(); /* your code here */ });
这里的实例。
根据您的意见,您只需要:
$("#image").click( function(){ alert("clicked"); //your code here });
演示:
试试:
你不想在区域,文档上添加onClick
事件:
标签定义图像映射内的区域(图像映射是具有可点击区域的图像)。
编辑:你的坐标有点奇怪,因为它应该是每个顶点的夫妻(所以现在,你的多边形是一条线)
它的形状是问题所在。 您的代码设置的形状等于多边形,但坐标属性中只有4个点。 您需要将形状设置为矩形。
像这样设置shape =“rect”:
我通过@TimorEranAV HTML地图发现了这个问题, 它显示文本而不是链接到URL并被标记为重复,但我认为他所期待的是这个,
Program - Image Map
这里标题标签提供了将hover文本(提示)添加到图像映射的机会。
对要监听的所有元素使用类,并可选择使用行为属性:
然后将您的事件侦听器添加到类中的所有元素:
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
这很简单: