SO - 30127913

by Arun P Johny

HTML

<form>
    <input type="submit" value="x" />
</form>

JavaScript

$('form').submit(function (e) {
    console.log('handler form', this);
});
$(document).on('submit', 'form', function (e) {
    console.log('handler document', this);

    //don't submit the form
    return false;
});

//the counter is just to demonstrate any condition
var counter = 0;
$('form').submit(function (e) {
    console.log('master handler form');
    //if counter is a multiple of 2 prevent other handlers
    if (++counter % 2 == 0) {
        //stop other submit handlers attached to the form
        e.stopImmediatePropagation();
        //stop propagation and default behavior
        return false;
    }
});

var form = jQuery('form'),
    events = $._data(form[0]).events['submit'];

var tmp = events.pop();
events.unshift(tmp);