我只是完全难过,我查看了很多类似的问题,但我无法弄清楚为什么这个点击事件会继续传播。
以下是代码:
$("#view-radio").buttonset().bind('click', function(e) {
redraw(Testimonials);
e.stopPropagation();
});
这是单选按钮
<div id="view-radio" class="i-obj buttonset">
<input type="radio" id="gridradio" name="view-radio" checked="checked" value="grid" />
<label for="gridradio"> <img src="http://SwolePersonalTraining.com/beta/wp-content/themes/striking/images/gridview.jpg" class="icon">Grid View</label>
<input type="radio" id="listradio" name="view-radio" value="list" />
<label for="listradio"><img src="http://SwolePersonalTraining.com/beta/wp-content/themes/striking/images/listview.jpg" class="icon">List View</label>
</div>
您可以在此处找到正常运行的页面:http://swolepersonaltraining.com/beta/?page_id=380
有什么想法吗?
答案 0 :(得分:2)
我不能发誓,因为它很难在你的实时网站上进行测试,但我认为发生的事情是你绑定click
div的view-radio
事件而不是两者中的每一个里面的单选按钮。
我会尝试类似的事情:
$("#view-radio").buttonset(). // Turn radio buttons of the div in a buttonset
find('input').bind('click', // Bind the click event of each of the two radios
....
修改强>
是的!有用! http://jsfiddle.net/marcosfromero/TDsrj/
不需要stopPropagation
(阅读其他答案以了解原因)。