【Javascript】一度実行されたら破棄されるイベントの書き方


現代の主要ブラウザにおいて、Javascriptで一度だけ一度だけイベントを実行するのにremoveEventListenerフラグも必要ありません。とても素晴らしいオプションが用意されているので、刮目しましょう。




すばらしき{once: true}

第3引数に{once: true}を追加するだけで一度だけイベントを実行してくれます。すばらしい。

window.addEventListener('scroll', () => {
    
}, {once: true})





jQueryの場合

jQueryの場合はoneメソッドが用意されています。

$(window).one('scroll', () => {
    
})





{once: true} のブラウザの対応状況

{once: true} は主要ブラウザですでに対応されているようです。

参考:“once” event listener option” | Can I use…





IE対応が必要な場合

IE対応が必要な場合は仕方ないので、removeEventListenerを使いましょう。
IE9以上で対応しているようです。

参考:“removeEventListener” | Can I use…

window.addEventListener('scroll', hoge = () => {
    // removeEventListener実行前に何かしらの処理を行う
    this.removeEventListener('scroll', hoge)
})






以上、一度実行されたら破棄されるイベントの書き方でした。

スポンサーリンク

You can subscribe by SNS

スポンサーリンク

コメントを残す

*