LoginSignup
2
2

More than 3 years have passed since last update.

【JavaScript】EventLockerでイベントを止めよう

Last updated at Posted at 2017-06-09

イベント処理を一時的に止めたい事ってありませんか?

submitボタンの連打を防止したり、ajax中に処理が終わるまで、
他のイベント処理をさせたくなっかたりすることありませんか?

その度にフラグを使ったり、画面を覆うようなDIVを作成したりしていませんか?

EventLockerでイベントを止めちゃいましょう!

そんな時に役立つのが今回ご紹介するEventLocker!
EventLockerを使うと、いつでもイベントをロック(止める)することができます。
もちろんそのイベントのロックの解除も行うことができます。

EventLockerの使い方

使い方は簡単!
ロックしたいイベント名を指定して、EventLockerをnewして、lockするだけ。
解除するときはunlockしてください。
jQueryにも依存してないから使いやすいし、特定のイベントだけロックできるから安心ですね。
理屈としては、デリゲーターのキャプチャフェーズでイベントの伝播を止めています。

new Eventlocker({ delegator: obj, events: ['click'] });

のようにデリゲーターも指定できます。

delegatorのデフォルト値はdocumentです。
eventsのデフォルト値は['click', 'dblclick', 'mousemove', 'mouseover', 'mouseout', 'mouseenter', 'mouseleave', 'wheel', 'keydown', 'keypress', 'keyup' ]です。

サンプルプログラム

こちらからEventLockerライブラリとサンプルプログラムをダウンロードできます。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2