jQuery .trigger没有第二次执行

时间:2013-06-19 05:49:24

标签: jquery jquery-1.7

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

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

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

谢谢

2 个答案:

答案 0 :(得分:0)

该活动为change,因此无需解雇onchange

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

答案 1 :(得分:0)

jQuery中没有onChange使用change

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

另外请检查您的逻辑:,因为您绑定了div和p tag上的onChange事件,您还要在此函数上创建recursion < / p>