我在页面上有一些单选按钮:
<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事件触发器。但是如果我再次选择另一个单选按钮(第二个,第三个或任何时间),我的触发器甚至都没有被执行。我希望我能在这里做的很清楚。知道为什么我的触发器第一次执行而不是第二次,第三次,第四次执行?
谢谢
答案 0 :(得分:0)
该活动为change
,因此无需解雇onchange
$(this).trigger('change');
答案 1 :(得分:0)
jQuery中没有onChange
使用change
$(this).trigger('change');
另外请检查您的逻辑:,因为您绑定了div
和p tag
上的onChange事件,您还要在此函数上创建recursion < / p>