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;}