Event.initEvent() - イベントを初期化する
initEvent()は、Eventのメソッドです。Document.createEvent()で作成したイベントを初期化します。
このAPIは非推奨です。新しくコードに加えず、代わりの手段を探して下さい。
概要
- 名前
- initEvent
- 所属
- Event
- IDL
void initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false); // historical
- 仕様書
- https://dom.spec.whatwg.org/#dom-event-initevent
説明
第1引数(type)には、イベントの種類(type)を指定します。
第2引数(bubbles)には、任意でバブリングフェイズの伝播をするか否か(bubbles)を指定します。
第3引数(cancelable)には、任意でイベントをキャンセル可能か否か(cancelable)を指定します。
デモ
Event.initEvent()のデモです。チェックボックスにイベントを設定し、EventTarget.dispatchEvent()で擬似的にクリックします。その際に利用するイベントでEvent.initEvent()を利用しています。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<html>
<head>
<style>
div#result {
white-space: pre-wrap ;
}
</style>
</head>
<body>
<input id="hoge" type="checkbox">チェックボックス
<hr>
<div id="result"></div>
<script>
/** try it! **/
var element = document.getElementById( "hoge" ) ;
var resultElement = document.getElementById( "result" ) ;
element.addEventListener( "click", function ( event ) {
event.preventDefault() ; // 規定の動作(チェックが付く)をキャンセル
document.getElementById( "result" ).textContent = "clickしました!!" ;
} ) ;
var event = document.createEvent( "mouseevent" ) ;
event.initEvent( "click", false, false ) ; // チェックが付く
// event.initEvent( "click", false, true ) ; // チェックが付かない
element.dispatchEvent( event ) ;
/** try it! **/
</script>
</body>
</html>
サポート状況
Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|
● | ● | ● | ● | ● 9+ | ● | ● | ● |
関連記事
- Document.createEvent()
- createEvent()は、Documentのメソッドです。イベント(Event)を新しく作成します。
- 指定文字を置換、削除する
- 文字列の中の指定した部分を置換したり削除します。
- Event.type
- typeは、Eventのプロパティです。イベントの種類を返します。
- Location.ancestorOrigins
- ancestorOriginsは、Locationのプロパティです。ロケーションの全ての祖先オリジンを含むDOMStringListを返します。例えば、あるページ(親ページ)からiframe要素で別ドメインのページ(子ページ)を表示している場合、子ページの祖先オリジンには、親ページのオリジンが含まれます。インラインフレームが入れ子の場合、複数の祖先オリジンを持ちます。