beforeunloadイベントで特定リンクの場合適用外にしたい

投稿者: Anonymous

登録フォームで戻るボタンを押した際に、警告を出す設定を行っています。
その際、下記条件でbeforeunloadイベントを除外しようとしたのですが、
知識不足の為 2の場合対応できません。 恐れ入りますが、どなたかご教授いただければと存じます。

▲除外条件▲
1:submitした場合
2:登録フォーム中の「フェイスブックでログイン」へのリンクを押した場合

JSはrailsのcoffee scriptですが、jquery jsでご回答頂いても問題ございません。

_x000D_

_x000D_

<div class="entryProfile-buttonWrapper--fb flex">_x000D_
  <div>_x000D_
    <a class="btn btn-flat-facebook w-80-percent" href="/users/auth/facebook?is_business=false">_x000D_
      Facebookで登録・ログイン </a>_x000D_
  </div>_x000D_
</div>_x000D_
_x000D_
<form accept-charset="UTF-8" action="/registration" class="new_user" id="js-registrationForm" method="post">_x000D_
  <div class="form-group row">_x000D_
    <div class="col-xs-3 text-left">_x000D_
      <span class="text-bold">姓(全角漢字)</span>_x000D_
    </div>_x000D_
    <div class="col-xs-4">_x000D_
      <input class="form-control placeholder-no-fix" id="user_profile_attributes_last_name" name="user[profile_attributes][last_name]" placeholder="内田" type="text">_x000D_
    </div>_x000D_
  </div>_x000D_
  <input class="btn btn-blue registrationForm-submit w-90-percent track-regist-db" data-disable-with="送信中..." id="submit-registration" name="commit" type="submit" value="無料会員登録する">_x000D_
</form>

_x000D_

_x000D_

_x000D_

記入したJS(coffee script)

_x000D_

_x000D_

onBeforeunloadHandler = (e) ->_x000D_
  e.returnValue = 'ページから移動しますか?'_x000D_
$(window).on 'beforeunload', onBeforeunloadHandler_x000D_
$('form').on 'submit', (e) ->_x000D_
  $(window).off 'beforeunload', onBeforeunloadHandler

_x000D_

_x000D_

_x000D_

解決

isirin様ご回答ありがとうございました。
頂いた内容を一部改変し下記で対応できました。 早急にありがとうございました

_x000D_

_x000D_

 $('.js-button-fb-login').on 'click', (e) ->_x000D_
   $(window).off 'beforeunload', onBeforeunloadHandler

_x000D_

_x000D_

_x000D_

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *