JavaScript +无效参数错误与fireEvent('onchange')
JavaScript + invalid argument error with fireEvent('onchange')
一些简单的事件驱动代码。无论出于何种原因,我似乎无法将'onchange'作为参数传递给fireEvent()
。在IE 7/8中抛出无效参数错误。这个项目需要是原生的。什么帮助?
自定义事件创建:
createCustomEvent : function(eventName) {
var evt;
if(document.createEvent) {
evt = document.createEvent('CustomEvent');
evt.initEvent(eventName, true, true);
}else if(document.createEventObject) {
evt = document.createEventObject();
evt.eventName = eventName;
}
return evt;
},
dispatchCustomEvent : function (el, evt) {
if(el.dispatchEvent) {
el.dispatchEvent(evt);
}else if(el.fireEvent) {
console.log('on'+evt.eventName); //onchange
el.fireEvent('on'+evt.eventName, evt);
}
}
用法:
dispatchCustomEvent(element, createCustomEvent('change'));
好的,所以根据大多数文档,change事件将在任何元素上触发,我引用:change事件在元素失去焦点且其值在获得焦点后发生变化时触发。
https://developer.mozilla.org/en-US/docs/DOM/Mozilla_Event_Reference/change然而,在<= ie8 onchange将不会触发任何元素,除了表单元素。这是令人难以置信的蹩脚,并使现代MVC自定义事件侦听和调度成为一个问题。
长话短说,在我的例子中,我使用了blur事件来捕捉div元素的变化。这对我来说是有效的,因为焦点在div元素更新之间被删除。这是一个幻灯片应用程序,其中两个div弹出和关闭堆栈,从左到右取决于当前位置。相关文章:
- Onchange没有'不要显示或隐藏Div
- Javascript Select OnChange没有'不要第二次工作
- onChange不足以从Dojo组合框触发查询
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- 如何使用javascript和PHP动态触发onChange事件
- react testUtils模拟点击单选按钮而不触发onchange
- onChange 函数更改表中显示的数据
- Javascript onchange()函数不起作用
- 在表单OnChange中交换数字顺序
- onchange值为select的重载页面
- Javascript:如何在onChange事件期间更改日期时间值
- JavaScript onchange事件未在IIS7中激发
- 选择标记onchange不适用于移动设备
- jQuery body onChange具有多个元素和多个函数
- 如何在jQuery中为asp:textbox生成onchange事件
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 当select标记触发onChange事件时,从mysql数据库加载html表
- Jquery change onchange in onload
- 从javascript调用服务器端的下拉列表onchange函数
- JavaScript +无效参数错误与fireEvent('onchange')