事件监听器不起作用
Posted
技术标签:
【中文标题】事件监听器不起作用【英文标题】:Event listener don't work 【发布时间】:2015-06-06 06:32:09 【问题描述】:我有下一个选择器“#btn-similar”,为什么这个监听器有效:
$("#btn-similar").click(function(e)
console.log("similar click");
);
但是这个监听器不是:
$(document).on("click", "#btn-similar", function(e)
console.log("similar click");
);
html 标记是:
<div id="btn-similar" class="details-tab active-nav">
<span class="angle"></span>
<div class="title">Overview</div>
</div>
我正在使用 jQuery 1.10,有什么想法吗?
【问题讨论】:
如果你使用 1.7 以下的 jquery 版本就不能正常工作?使用 .live() 【参考方案1】:由于两段代码都是正确的,并且在大多数情况下都可以工作,我只能想到第二段代码不能工作的原因:
层次结构中存在<a>
标记或表单帖子,导致浏览器在看到代码结果之前转到新页面。
您在页面中有多个对象id=btn-similar
。
在您的第二个代码块之前有一个脚本错误导致它无法执行。
您在某处有错字,并且代码实际上与所需的 id 不匹配。在您的问题中,您显示的代码引用了id=btn-similar
,但代码是id=btn-overview
。
仅供参考,您可以在此处看到第二个代码块运行良好:http://jsfiddle.net/jfriend00/8s7rukt3/ 因此您的页面中显然存在一些您尚未披露的奇怪之处。
【讨论】:
@ramiromd - 你发现问题了吗?以上是关于事件监听器不起作用的主要内容,如果未能解决你的问题,请参考以下文章
调用事件侦听器的 HTML 按钮不起作用 HTML 和 JS