JQuery click只触发一个动作

时间:2012-08-30 13:35:09

标签: jquery-click-event

任何人都可以帮助我理解为什么这不起作用吗?

<div id="css-check" class="css-check tool-tip checkbox inline" ... 
    <input id="someid" name="somename" type="checkbox" value="somevalue" />
</div>

$('.css-check').bind({
  click: function() {
    $(this).toggleClass('clicked');
    this.children[0].click();   
  },
  mouseenter: function() {
    // do something on mouseenter
  }
});

只采取第一个行动。因此,该类被切换,但不会单击复选框,即div的[0]子项。

修改

这很有效。

var $checkbox = $(this).children('input:first-child');
$checkbox.prop('checked', !$checkbox[0].checked);
$(this).toggleClass('clicked');

1 个答案:

答案 0 :(得分:0)

变化:

this.children[0].click();

到:

$(this).children('input:first-child').click(); 

注意:这会触发click事件,如果要选中复选框,请使用:

$(this).children('input:first-child').attr('checked', 'true');