我有这个HTML代码:
<div id="pagination">
<ul>
<li class="active"><a href="?page=1">Page 1</a></li>
<li class="active current"><a href="?page=2">Page 2</a></li>
<li class="active"><a href="?page=3">Page 3</a></li>
</ul>
</div>
我有这个jquery代码:
$("#paginacion ul li.active").click(function (event) {
event.stopPropagation();
alert();
$(this).find("a").trigger("click");
});
为什么当我点击li
元素时会出现警告?我无法停止警报。
我在jsfiddle中设置了样本:http://jsfiddle.net/dmoraroca/h5czs53e/2/embedded/result/
如果你能打开链接,请告诉我,谢谢。
答案 0 :(得分:3)
在事件处理程序中,您将触发<a>
标记内的<li>
标记上的点击事件。所以你处于无限循环的事件中,并且你有无限的警报。
答案 1 :(得分:1)
为什么你不能这样做:
jQuery("#paginacion ul li.active").click(function (event) {
event.stopPropagation();
alert();
window.location = $(this).find("a").attr("href"); // redirect to link address
// do what you want here
});
或:
jQuery("#paginacion ul li.active > a").click(function (event) {
event.stopPropagation();
alert();
// do what you want here
});
jQuery("#paginacion ul li.active").click(function (event) {
event.stopPropagation();
alert();
window.location = $(this).find("a").attr("href");
});
&#13;
.current {
background-color: yellow;
}
.active {
background-color: silver;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="paginacion">
<ul>
<li class="active"><a href="?page=1">Page 1</a></li>
<li class="current"><a href="?page=2">Page 2</a></li>
<li class="active"><a href="?page=3">Page 3</a></li>
</ul>
</div>
&#13;