Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 通过单击div触发收音机_Jquery_Html_Css_Recursion - Fatal编程技术网

Jquery 通过单击div触发收音机

Jquery 通过单击div触发收音机,jquery,html,css,recursion,Jquery,Html,Css,Recursion,嗨,朋友,我想当用户点击一个按钮时,这个代码你需要停止从输入电台传播事件,否则它也会继续触发div click事件。检查这个 $(“按钮”)。单击(函数(){ $('body')。追加('dd')) }) $(文档).on('click','row',函数(e){ $('.row').removeClass('gray'); $(this.addClass('gray'); $(this).find('input').trigger('click'); }); $(文档)。在('click','

嗨,朋友,我想当用户点击一个按钮时,这个代码
你需要停止从输入电台传播事件,否则它也会继续触发div click事件。检查这个

$(“按钮”)。单击(函数(){
$('body')。追加('dd'))
})
$(文档).on('click','row',函数(e){
$('.row').removeClass('gray');
$(this.addClass('gray');
$(this).find('input').trigger('click');
});
$(文档)。在('click','input:radio',函数(e){
e、 stopImmediatePropagation();//e.stopPropagation()也可以,如果您只想阻止单击父div
});

您需要停止来自输入无线电的事件传播,否则它也将继续触发div click事件。检查这个

$(“按钮”)。单击(函数(){
$('body')。追加('dd'))
})
$(文档).on('click','row',函数(e){
$('.row').removeClass('gray');
$(this.addClass('gray');
$(this).find('input').trigger('click');
});
$(文档)。在('click','input:radio',函数(e){
e、 stopImmediatePropagation();//e.stopPropagation()也可以,如果您只想阻止单击父div
});
最干净的方式 最干净的方法是使用
.prop('checked',true)而不是
。触发器('click')
。这样,就不会发生传播,因为不会触发UI事件

$('button').click(function(){
     $('body').append('<div class="row"><input type="radio" name="radio">dd</div>');
});
$(document).on('click','.row',function(e){

     $('.row').removeClass('gray');
     $(this).addClass('gray');
     $(this).children('input').prop('checked',true); //Changed find() to children as well.

});
$(“按钮”)。单击(函数(){
$('body')。追加('dd');
});
$(文档).on('click','row',函数(e){
$('.row').removeClass('gray');
$(this.addClass('gray');
$(this).children('input').prop('checked',true);//还将find()更改为children。
});
看看这个。

最干净的方式 最干净的方法是使用
.prop('checked',true)而不是
。触发器('click')
。这样,就不会发生传播,因为不会触发UI事件

$('button').click(function(){
     $('body').append('<div class="row"><input type="radio" name="radio">dd</div>');
});
$(document).on('click','.row',function(e){

     $('.row').removeClass('gray');
     $(this).addClass('gray');
     $(this).children('input').prop('checked',true); //Changed find() to children as well.

});
$(“按钮”)。单击(函数(){
$('body')。追加('dd');
});
$(文档).on('click','row',函数(e){
$('.row').removeClass('gray');
$(this.addClass('gray');
$(this).children('input').prop('checked',true);//还将find()更改为children。
});

看看这个。

或者换一种方式。只需用标签包装您的无线电输入

$('button').click(function(){
    $('body').append('<label class="row"><input type="radio" name="radio">dd</label>')
})
$(document).on('click', '.row', function(){
    $('.row').removeClass('gray');
    $(this).addClass('gray');
});

或者只是另一种方式。只需用标签包装您的无线电输入

$('button').click(function(){
    $('body').append('<label class="row"><input type="radio" name="radio">dd</label>')
})
$(document).on('click', '.row', function(){
    $('.row').removeClass('gray');
    $(this).addClass('gray');
});
$('button').click(function(){
     $('body').append('<div class="row"><input type="radio" name="radio">dd</div>');
});
$(document).on('click','.row',function(e){

     $('.row').removeClass('gray');
     $(this).addClass('gray');
     $(this).children('input').prop('checked',true); //Changed find() to children as well.

});
$('button').click(function(){
    $('body').append('<label class="row"><input type="radio" name="radio">dd</label>')
})
$(document).on('click', '.row', function(){
    $('.row').removeClass('gray');
    $(this).addClass('gray');
});
.row{display:block; padding:10px 40px; cursor:pointer;}