Jquery PrettyCheckBox使父div可单击?

Jquery PrettyCheckBox使父div可单击?,jquery,Jquery,我正在使用prettycheckbox,我想更改它,以便也可以单击div包装器和单选按钮。单选按钮/标签的当前JS为 $label = $('label[for="'+$(this).attr('id')+'"]'); // Add the checkbox holder to the label $label.prepend("<span class='holderWrap'><span class='holder'>&

我正在使用prettycheckbox,我想更改它,以便也可以单击div包装器和单选按钮。单选按钮/标签的当前JS为

        $label = $('label[for="'+$(this).attr('id')+'"]');

        // Add the checkbox holder to the label
        $label.prepend("<span class='holderWrap'><span class='holder'></span></span>");

        // If the checkbox is checked, display it as checked
        if($(this).is(':checked')) { $label.addClass('checked'); };

        // Assign the class on the label
        $label.addClass(settings.className).addClass($(this).attr('type')).addClass(settings.display);

        // Assign the dimensions to the checkbox display
        $label.find('span.holderWrap').width(settings.checkboxWidth).height(settings.checkboxHeight);
        $label.find('span.holder').width(settings.checkboxWidth);

        // Hide the checkbox
        $(this).addClass('hiddenCheckbox');

        // Associate the click event
        $label.bind('click',function(){
            $('input#' + $(this).attr('for')).triggerHandler('click');

            if($('input#' + $(this).attr('for')).is(':checkbox')){
                $(this).toggleClass('checked');
                $('input#' + $(this).attr('for')).checked = true;

                $(this).find('span.holder').css('top',0);
            }else{
                $toCheck = $('input#' + $(this).attr('for'));

                // Uncheck all radio
                $('input[name="'+$toCheck.attr('name')+'"]').each(function(){
                    $('label[for="' + $(this).attr('id')+'"]').removeClass('checked');  
                });

                $(this).addClass('checked');
                $toCheck.checked = true;
            };
        });
$label=$('label[for=“”+$(this.attr('id')+“]);
//将复选框保持架添加到标签
$label.prepend(“”);
//如果选中该复选框,则将其显示为选中状态
if($(this).is(':checked')){$label.addClass('checked');};
//在标签上指定类
$label.addClass(settings.className).addClass($(this.attr('type'))).addClass(settings.display);
//将尺寸指定给复选框显示
$label.find('span.holderWrap')。宽度(settings.checkboxWidth)。高度(settings.checkboxHeight);
$label.find('span.holder').width(settings.checkboxWidth);
//隐藏复选框
$(this.addClass('hiddenCheckbox');
//关联单击事件
$label.bind('click',function(){
$('input#'+$(this.attr('for')).triggerHandler('click');
if($('input#'+$(this.attr('for')).is(':checkbox')){
$(this.toggleClass('checked');
$('input#'+$(this.attr('for')).checked=true;
$(this.find('span.holder').css('top',0);
}否则{
$toCheck=$('input#'+$(this.attr('for'));
//取消选中所有收音机
$('input[name=“”+$toCheck.attr('name')+'“]')。每个(函数(){
$('label[for=“”+$(this.attr('id')+“])).removeClass('checked');
});
$(this.addClass('checked');
$toCheck.checked=true;
};
});
我想让$(this).parent()也调用click函数

有没有办法做到这一点?

使用创建一个自+父的jQuery对象:

var labelAndParent = $label.add($(this).parent());
然后绑定到该对象:

labelAndParent.bind('click',function(){
    // ...
});