IE9 で次のエラーが発生します。
「オブジェクトはこのアクションをサポートしていません」。
これについてはさまざまな質問がありますが、私のものは特に次のコードです。
var myEvent = new CustomEvent("additem");
私の理解でCustomEvent
は、DOM 操作コマンドとして IE9 でサポートされています。これは例外なく Chrome で正常に動作します。
誰もがこの問題を抱えていて、それを解決する方法を知っていますか? ありがとう。
IE9 で次のエラーが発生します。
「オブジェクトはこのアクションをサポートしていません」。
これについてはさまざまな質問がありますが、私のものは特に次のコードです。
var myEvent = new CustomEvent("additem");
私の理解でCustomEvent
は、DOM 操作コマンドとして IE9 でサポートされています。これは例外なく Chrome で正常に動作します。
誰もがこの問題を抱えていて、それを解決する方法を知っていますか? ありがとう。
Afaik カスタム イベントは IE ではサポートされておらず、通常のブラウザでのみサポートされています。Jquery のトリガーのようなブラウザーに依存しない実装を提供する JavaScript ライブラリを使用することをお勧めします: http://api.jquery.com/trigger/
JavaScript 関数を使用して、ブラウザーが IE11 以下であるかどうかを検出し、次のポリフィルを適用できます。
(function () {
function CustomEvent ( event, params ) {
params = params || { bubbles: false, cancelable: false, detail: undefined };
var evt = document.createEvent( 'CustomEvent' );
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
return evt;
};
CustomEvent.prototype = window.Event.prototype;
window.CustomEvent = CustomEvent;
})();
上記のポリフィルは MDN から取得されます: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
ネイティブの (そして機能的な) CustomEvent メソッドを置き換えないこのポリフィルを試してください。
(function () {
try {
new CustomEvent('test');
return;
} catch(e) {
// ignore this error and continue below
}
function CustomEvent ( event, params ) {
params = params || { bubbles: false, cancelable: false, detail: undefined };
var evt = document.createEvent( 'CustomEvent' );
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
return evt;
};
CustomEvent.prototype = window.Event.prototype;
window.CustomEvent = CustomEvent;
})();