Я пытаюсь выбрать радио-поле, когда я нажимаю LI. Но я получаю ошибку "к большой рекурсии".
Код:
$('li').click( function(){
$('li.selected').removeClass('selected');
$(this).addClass('selected');
$(this).children("input[type=radio]").click();
});
Это использует jQuery 1.4.2 и UI 1.7.2.
, когда вы .click () дочерний input
, событие всплывает и повторно запускает щелчок li
(). Вам нужно добавить .click () к входу
и сделать в нем event.preventBubble = true;
, либо просто установите свойство checked вместо click ()
ing it.
Да, это всплывающее событие. Событие всплывает до li
Вам просто нужно сделать следующее:
$('li').click( function(e){
if($(e.target).is('li')){
$('li.selected').removeClass('selected');
$(this).addClass('selected');
$(this).children("input[type=radio]").click();
}
});
Не добавляйте больше событий ниже, это беспорядочно