1

Web ページのヘッダーにあるリンクされた JS ファイルに追加されたイベント ハンドラー/リスナーを元に戻そうとしています。

基本的なセットアップ:

<form id="form_enter_giveaway" action="" method="post">
 <input type="hidden" name="form_key" value="04b931caff99a0a688241e6da5f09839">
 <input type="hidden" name="enter_giveaway" value="1">
 <a href="" class="rounded view submit_entry">Enter to Win! (1P)</a>
</form>

JS ファイル ( http ://www.steamgifts.c​​om/js/header_functions.js ):

$('.submit_entry, .remove_entry').click(function(){
 $('#form_enter_giveaway').submit();
 return false;
});

そのリンクをクリックした場合に実行する必要があるネイティブは何もありません。そのリンクとそのフォームへのすべての参照を検索すると、その単一の JS がフォームの送信を引き起こしている可能性がある唯一のものであることが示されているようです。しかし、コンソール$('.submit_entry, .remove_entry') .unbind().off(),を試しました。die()すべて「クリック」の有無にかかわらず、そのリンクタグをクリックするたびに送信されます。そして、その場所で実行したいイベントを妨害しています。

4

1 に答える 1

2

これを試して

var $selector = $('.submit_entry, .remove_entry');

// Binding the event using on so that it can be unbinded later
//  that triggers the submitForm handler
$selector.on('click', submitForm);

function submitForm() {
    $('#form_enter_giveaway').submit();
    return false
}

// Unbind the event using off
$selector.off('click');

// Bind the event and prevent the default action of anchor
$selector.on('click', function(e) {
    e.preventDefault();
});

フィドルをチェック

于 2013-08-02T00:52:27.030 に答える