[英]Problems with fireEvent methods on IE11
在Firefox / Chrome瀏覽器中使用jquery / javascript / Ext JS5模擬對此按鈕的單擊時,我有一個按鈕。 此按鈕將觸發事件,但是在IE11中執行相同操作時,事件不會觸發嗎? 有什么線索嗎?
單擊按鈕的方法如下:
// jquery
$('.buttonId').click(); // works
// javascript
document.getElementById('buttonId').click(); // works
// ExtJS 5
var ok = Ext.ComponentQuery.query('button[itemId=buttonId]')[0];
ok.fireEvent('click', ok); // works
但不適用於IE11
我會用:
ok.dispatchEvent("click")
當然,您需要添加一些邏輯來檢測所用的瀏覽器,而不是fireEvent,以便如果IE <v11,則可以繼續使用fireEvent()。
請從Microsoft那里了解有關fireEvent的棄用以及建議用dispatchEvent()進行替換的信息:
https://msdn.microsoft.com/zh-CN/library/ff986080(v=vs.85).aspx
這是一個錯誤。 使用此替代,它應該可以工作!
小提琴示例: https : //fiddle.sencha.com/#fiddle/ls4
Ext.define('EXTJS-13775', {
override: 'Ext.dom.Element'
}, function(Element) {
var eventMap = Element.prototype.eventMap;
eventMap.click = 'click';
eventMap.mousedown = 'mousedown';
eventMap.mouseup = 'mouseup';
eventMap.mousemove = 'mousemove';
eventMap.dblclick = 'dblclick';
eventMap.mouseleave = 'mouseleave';
eventMap.mouseenter = 'mouseenter';
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.