我正在使用jQuery.当警报列表的ID显示两次而不是一次时,我遇到了问题.
列表:
代码:
$("li").click(function(){ var current_id = $(this).attr('id'); alert(current_id); // These alert two times, one is empty and another one is content_1 });
为什么编码代码警报两次?如何让它执行一次?
$("li").click()将click事件应用于页面上的所有LI.
当你点击
您实际上是在点击外部LI和最内部的LI,这会导致事件触发两次.外部LI没有ID,因此它是空的,内部LI的ID为"content_1",因此显示.
那有意义吗?
添加event.stopImmediatePropagation();
到您的活动,然后它不会发射两次:
$("li").click(function(event) { event.stopImmediatePropagation(); });
你有一个嵌套在另一个内
.
单击内部时,您将获得内部
和外部的事件
将您的HTML更改为以下内容,您将收到"Content_1"和"OUTER-LIST-ITEM"的警报,这样可以更清楚地了解...