function createOnceHandler (handler, event, capture) { const _target = target // save current target element in closure return function onceHandler () { const res = handler.apply(null, arguments) if (res !== null) { remove(event, onceHandler, capture, _target) } } } 本当に1回だけしか押せなくしたい場合には.onceでよいでしょう。しかし、formのsubmitボタンは、バリデーションエラーが発生したら一度送信をキャンセルして非活性化、ユーザが入力値を修正したら活性化して再度押せるように、といった制御が必要です。そのため、.on