반응형
IE11에서 dispatchEvent가 작동하지 않음
다음 코드를 사용하여 양식을 제출하고 있습니다.
element.dispatchEvent(new Event("submit"));
Inspector에서 오류를 반환합니다. 개체가이 작업을 지원하지 않습니다.
이것은 Chrome에서 작동합니다.
이 명령의 목적은 클릭 할 때 양식에서 제출 이벤트를 호출하는 부서를 만드는 것입니다.
Jquery는 옵션이 아닙니다.
이것은 향후 변경 사항을 고려하여 IE11 및 기타 브라우저에서 작동하도록 만드는 가장 좋은 방법입니다.
var event;
if(typeof(Event) === 'function') {
event = new Event('submit');
}else{
event = document.createEvent('Event');
event.initEvent('submit', true, true);
}
$el.dispatchEvent(event);
방금 똑같은 문제가 있었지만 다음은 IE11에서 작동하는 것 같습니다.
var event = document.createEvent("Event");
event.initEvent("submit", false, true);
// args: string type, boolean bubbles, boolean cancelable
element.dispatchEvent(event);
이 문제를 해결하려면 폴리 필을 사용하는 것이 가장 좋습니다. (맞춤 이벤트 폴리 필)
# using yarn
$ yarn add custom-event-polyfill
# using npm
$ npm install --save custom-event-polyfill
그런 다음 자바 스크립트에 포함 / 요구하십시오.
import 'custom-event-polyfill'
;
https://www.npmjs.com/package/custom-event-polyfill
나는 다양한 접근 방식의 조각과 조각을 모아서 이것을 작동시켰다.
var customEvent = document.createEvent('HTMLEvents');
customEvent.initEvent('myCustomEvent', true, true);
document.dispatchEvent(customEvent);
솔직히 말해서 이것은 나에게별로 말이되지 않는다. 문서에 이벤트 ( HTMLEvents
필요한 이름 지정)를 생성 한 다음 다른 이름으로 해당 이벤트를 초기화합니다. 누구든지 이것을 더 잘 설명 할 수 있다면 답변에 포함될 수 있도록 아래에 의견을 추가하십시오.
어쨌든 표준 이벤트 리스너를 사용하여 IE11 (및 최신 브라우저)에서이 사용자 지정 이벤트를 수신 할 수 있습니다.
document.addEventListener('myCustomEvent', function(){
console.log('Event received.');
});
참조 URL : https://stackoverflow.com/questions/27176983/dispatchevent-not-working-in-ie11
반응형
'Development Tip' 카테고리의 다른 글
.NET 테스트에서 모의 HttpClient를 전달하는 방법은 무엇입니까? (0) | 2021.01.06 |
---|---|
MSbuild가 빌드 서버에 Visual Studio를 설치해야합니까? (0) | 2021.01.06 |
npm install 명령으로 .bat 파일 만들기 (0) | 2021.01.06 |
SQL에서 "리터럴"테이블을 정의 할 수 있습니까? (0) | 2021.01.06 |
django : 해당 모델의 인스턴스에서 모델을 가져 오는 모범 사례 방법 (0) | 2021.01.06 |