【发布时间】:2015-06-22 16:32:46
【问题描述】:
我有以下HTML 结构和JavaScript 文件:
.html
<li>
<button class="show-more"></button>
some more elements
<div class="hidden"></div>
</li>
JavaScript
$( ".show-more" ).click(function() {
event.preventDefault();
$( this ).next().slideToggle( "fast", function() {
});
});
我需要点击事件来切换.hidden 的下一个第一个实例,但是点击事件的目标是它之后的第一个元素,而不是.hidden 的下一个实例,有什么想法可以解决吗?
【问题讨论】:
-
注意:您必须将
event作为参数传递给.click的回调函数才能使用event.preventDefault(); -
注意@empiric 的一个很好的捕捉:事实上,您的代码依赖于一个全局
event对象,并依赖于它具有preventDefault方法。它可以在现代 IE 和 Chrome 上运行,但在 Firefox(没有全局event)和旧版 IE(有,但该事件没有preventDefault)上会失败。
标签: javascript jquery html