Javascript - IE автоматизация - событие не определено ошибка - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь вызвать серию событий для элемента в Internet Explorer, но следующий код дает мне «Событие не определено».Есть идеи, что можно сделать, чтобы решить эту проблему?createEvent не поддерживается объектом, поэтому не может использоваться.

function categoryClick() {
  var events = ["mousemove", "mouseover", "focus", "mousedown", "mouseup", "click"];
  var combobox = document.getElementById("category");
  var a = combobox.childNodes;
  var target = a[0].childNodes[0];

    for (var i = 0; i < events.length; i++) {
    var eventObject = new Event(events[i], {
      "bubbles": true,
      "cancelable": false
    });

    target.dispatchEvent(eventObject);
  }
}

1 Ответ

0 голосов
/ 09 октября 2018

Смотрите комментарии в коде.

function categoryClick() {
  var events = ["mousemove", "mouseover", "focus", "mousedown", "mouseup", "click"];
  var combobox = document.getElementById("category");
  var a = combobox.childNodes;
  var target = a[0].childNodes[0];

    for (var i = 0; i < events.length; i++) {
    if (typeof(Event) === 'function') { // just as you did
        var eventObject = new Event(events[i], {
          "bubbles": true,
          "cancelable": false
        })
    } else { // fallback for IE
        var eventObject = document.createEvent('Event');
        eventObject.initEvent(events[i], true, false);
    }

    target.dispatchEvent(eventObject);
  }
}
...