javascript - Html map 对象 - 单击 map 部分获取 id

标签 javascript jquery html

当用户单击 map 的一部分时,我尝试获取该部分的 id。

<img src="images/mapa.png"  alt="" width="588" height="711" usemap="#Map" />
<map name="Map" class="map">
  <area shape="circle" id="vrsac" coords="317,191,25" href="#">
  <area shape="circle" id="pancevo" coords="273,225,25" href="#">
  <area shape="rect" id="beograd" coords="195,247,251,276" href="#">
  <area id="lazarevac" shape="rect" coords="204,283,267,318" href="#">
</map>

$(document).ready(function(){
    $( ".map" ).click(function() {
        alert("Click: " + this.id);
    }); 
});

谢谢

已解决

我将类添加到区域标记。

  <area class="qwe" shape="circle" id="vrsac" coords="317,191,25" href="#">      

最佳答案

这里有两个选择。第一个是使用正确的选择器:您想要跟踪 area 标签上的点击,而不是某些 map 类元素上的点击。所以你的代码应该是:

$("area").click(function () {
    alert("Click: " + this.id);
});

或者第二个,在性能方面更高效 - 将点击事件从内部 area 标记委托(delegate)给父 map:

$("map").on('click', 'area', function () {
    alert("Click: " + this.id);
});

关于javascript - Html map 对象 - 单击 map 部分获取 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29500464/

相关文章:

html - 底部固定导航栏

javascript - 拖放获取可放置的多个图像的ID

javascript - nodeValue vs JavaScript中的值

javascript - 浏览器未从 html 页面加载我的 java 脚本文件

jquery - 如何从插件内部调用外部函数

javascript - 使用 jQuery 时如何在 ASP.NET 中同时触发 OnClick 和 OnClientClick 事件?

javascript - 扩展 Web 组件中的 HTML 元素

javascript - 使用larragon和Vue,组件不渲染

javascript - 调用 $ (".myItem").dateInput() 后,angularjs 输入字段未更新

html - 如何使外部样式表中类的 css 优先于元素的 css