jQuery.trigger('click') 在 IE8 中导致“change”事件
jQuery.trigger('click') results in "change" Event in IE8
$('#myRadioButton').change(function(event) {
var eventType = event.type;
$(this).trigger('click'); // In IE8 only, this results in endless loop
});
上面的代码片段导致在IE8中触发更改事件,因此在选择我的单选按钮时会启动无限循环。这不是预期的行为,因为"点击"事件当然不是"更改"事件。在其他浏览器和IE9+中,代码按预期工作(即,不是无限循环(。
变量 eventType
等于 IE8 中的 "change"
,既适用于用户触发的初始"更改"事件,也适用于后续对自身的调用。
这种行为的原因是什么,如何阻止IE8成为一个混蛋并像普通浏览器一样行事?
此致敬意!
原因 - 不知道对不起。
"解决方法" :-
function radioChange() {
$(this).off('change', radioChange);
$(this).trigger('click');
$(this).on('change', radioChange);
}
$('#myRadioButton').change(radioChange);
trigger
是同步的,因此删除change
,然后触发click
,然后重新连接change
应该可以工作。
相关文章:
- Bootstrap 3 Datepicker v4:dp.show和dp.change事件在Datepicker内联时不
- 在change事件javascript上动态添加行
- 了解'这'在jQuery on change事件中
- 为什么我的on change事件在ie9上返回空
- 在on.change事件之后运行函数
- 收听Aloha编辑器“aloha-smart-content-change”事件
- 当 ng-change 事件发生时,函数不会在角度 js 中调用
- 如何在角度 UI 开关中获得 ng-change 事件
- 将当前元素发送到 ng-change 事件
- 检测复选框是否在 Angular.js ng-change 事件中处于选中状态
- jquery 'change' 事件在表单中的按钮集的图像单击时未触发
- VueJS Select2 指令不会触发@change事件
- d3.js库上的On change事件重复图表
- jquery on change事件doen'不起作用
- 如何检测对象的change事件的属性值
- Meteor Change事件基于第一次选择的值
- 仅当元素具有特定属性时才执行Change事件
- html中的select on change事件不会返回所需的值
- 在dropbox on change事件时运行php函数,并从php函数返回一个表
- jQuery.trigger('click') 在 IE8 中导致“change”事件