【发布时间】:2013-07-25 13:40:57
【问题描述】:
我在另一个 div 中保存了 3 个 div 的结构。单击这些 div 中的任何一个时,我正在运行 Jquery 函数。
目前我已经在 jQuery 中修复了一个警报。我的问题是警报被触发了两次,这可能意味着该函数被调用了两次。这不是所需的输出。
这里是FIDDLE
HTML
<div id="prompt_network_box" class="network_deck_on">
<div id="address_header" class="address_headers_on">CHOOSE A NETWORK YOU ARE A MEMBER OF</div>
<div class="wizzard_networks_container" id="wizzard_networks_container">
<div id="network_picker,1,Blogger" class="wizzard_network_holder">
<img src="media/images/social/Blogger.png" width="57" height="57" alt="Blogger">
</div>
<div id="network_picker,2,Art" class="wizzard_network_holder">
<img src="media/images/social/ART.png" width="57" height="57" alt="Art">
</div>
<div id="network_picker,3,Tech" class="wizzard_network_holder">
<img src="media/images/social/tech.png" width="57" height="57" alt="digg">
</div>
</div>
</div>
JQUERY
$('div').on('click', '[id^=network_picker]', function (e) {
alert("YOU CLICKED IT!")
});
【问题讨论】:
-
您应该从修复无效标记开始。 ID 必须是唯一的,并且其中没有
,。 -
您的处理程序同时为#wizzard_networks_container 和#prompt_network_box 执行
-
@boz 我承认它们很丑,但它们在 HTML5 中完全有效,因为没有重复项,而且它们不包含空格。
-
@boz 使用 id 的方式是有原因的。 ;-)
-
@RoryMcCrossan 你每天都会学到新东西——我认为逗号仍然是 id/类名中的非法字符!