javascript - 动态生成的嵌套 DIV 中的 OnMouseOver 事件无响应

标签 javascript html dom-events

我正在使用 JavaScript 生成游戏 map ,每个图 block 都是一个单独的 div。为了能够在我的网站上定位 map ,我将它们全部放在另一个 div 中。

例如:

<div id="mapBox">  
    <div id="tile" ... ></div>  
    <div id="tile" ... ></div>  
</div>

#tile div 是根据 XML 文件中的数据生成的,因此它们是动态生成的。在每个 #tile 上,我都有一个 onmouseevent 来触发一个函数(alert(1) 现在只是为了让它工作),但它似乎从未被触发。

如果我将 onmouseevent 放在 #mapBox 上,它会触发它,但我无法让它在 #tile div 上工作.

如有任何帮助,我们将不胜感激。

最佳答案

不确定如何选择 #tile div,但多个具有相同 ID 的元素是无效的。

使用重复 ID 进行选择通常只会给出第一个匹配项(或其他一些不可预测的行为)。

当需要重复标识符时,您应该使用类而不是 ID。

<div id="mapBox">
    <div class="tile" ... ></div>
    <div class="tile" ... ></div>
</div>

关于javascript - 动态生成的嵌套 DIV 中的 OnMouseOver 事件无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289623/

相关文章:

javascript - 如何在动态表中检索输入类型的值

javascript - AngularJS 路由中的动态部分参数

javascript - 没有参数的异步递归函数会泄漏内存或堆栈溢出吗?

javascript - CSS 元素顶部距离窗口底部 100px

javascript - 使用 "input"事件动态更改背景颜色

javascript - 递归迭代数组对象并返回连接的 id 数组

HTML 行距和紧凑代码

HTML/CSS - 改变滚动条?

javascript - 如何在 getElementsByClassName 中获取当前元素

javascript - iPhone 缓存 list 设置