[英]Prevent multiple event triggering
我又在這里
$(document).ready(function () {
$("#id_priori").on('click', 'li', function(){
var self = $(this),
checkbox = self.find(":checkbox")[0];
checkbox.checked = !checkbox.checked;
self.toggleClass( 'on', checkbox.checked );
}).find(":checkbox").each(function(){
$(this).closest('li').toggleClass('on', this.checked);
});
$("#id_tipo").on('click', 'li', 'label', function () {
var self = $(this),
radio = self.find(":radio")[0];
radio.checked = !radio.checked
$(":radio:not(checked)").each(function () {
$(this).closest('li').toggleClass("on", this.checked);
});
})
.find(":radio").each(function () {
$(this).closest('li').toggleClass('on', this.checked);
});
});
一切正常,但對於標簽,當我單擊它們時,它們沒有檢查,做了一些微調,似乎一個事件多次觸發,並且取消了它們,嘗試設置警報,您會明白我的意思了
知道有什么問題嗎?
因為您要接管實際輸入的角色,所以需要允許輸入元素繼續自身的行為( http://jsfiddle.net/icodeforlove/rF2FT/2/ )
if (event.target === checkbox) return;
您需要做的就是如果目標是實際的輸入元素,請盡早返回。 現在,input元素正在對其進行檢查,然后您要告訴它取消對其進行檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.