Detecting changes in forms

var $form, origForm;
var isChanged = false;

$(document).ready(function () {
    $form = $('#formID');
    origForm = $form.serialize();
    isChanged = false;

    //check if form changed
    $('#formID :input').on('change input', function () {
        isChanged = true;
    });

    //check if html element changed
    $(`#elementID`).on('DOMSubtreeModified', function () {
        isChanged = true;
    });
})

$("#cancelButton").click(function () {
    if (isChanged) {
        //prompt message to user
    }
    else {
        //continue to cancel action
    }
})