0

我在这样的页面上有一些单选按钮:

<div id="testdiv">
    <input type="radio" name="testing" class="my_rad" value="Radio 1" />
    <input type="radio" name="testing" class="my_rad" value="Radio 2" />
    <input type="radio" name="testing" class="my_rad" value="Radio 3" />
    <input type="radio" name="testing" class="my_rad" value="Radio 4" />
    <br />
    <input type="checkbox" name="my_check" value="Checkbox 1" class="my_other_element" />
</div>

我有一个自定义onChange事件附加到带有 my_other_element 类的复选框,我想要做的是以下内容:

$('#testdiv').on('change', '.my_other_element', function(){
    $(this).trigger('onChange');
});

$('#testdiv').on('change', '.my_rad', function(event){
    // do stuff
    $('.my_other_element').trigger('onChange');
    // do more stuff
});

$('#testdiv').on('onChange', '.my_other_element', function(){
    alert('THIS IS EXECUTED');
});

所以当我选择一个单选按钮时,我会做一些事情,然后触发 onChange 事件my_other_element,然后我会做更多的事情。我遇到的问题是我第一次选择单选按钮时执行了对 my_other_element 的 onChange 事件的触发器。但是,如果我再次选择另一个单选按钮(第二次、第三次或任何时间),我的触发器甚至都不会执行。我希望很清楚我在这里想要做什么。知道为什么我的触发器第一次执行但第二次、第三次、第四次执行?

谢谢

4

2 回答 2

0

事件是change,所以不需要开火onchange

 $(this).trigger('change');
于 2013-06-19T05:52:55.510 回答
0

没有onChange在 jQuery 中使用change

$(this).trigger('change');

另请检查您的逻辑:当您将 onChange 事件绑定到div和 p时,您也在此函数上tag创建递归

于 2013-06-19T05:59:13.103 回答