JSFiddle - React, Tailwind, and code Playground

by Cory Danielson

HTML

<input type="text" onchange="validateString(this)" data-type="string"></input>

JavaScript

var validateString = function(e) {
    /* validation */
    $(e).css('border', '2px solid #0f0');
    // After 1 second, this will create 100 new inputs.
    setTimeout(changeViews, 1000, e);
}

var changeViews;

$('document').ready(function() {
    changeViews = function(e) {
        var elem = $(e);
        // Attempts to unbind
        elem.off('change');
        $('body').off('change', 'input');
        $('body').off('change', 'input', validateString);
        elem.removeAttr('onchange'); // This is the only one that prevents the event handling, just doesn't pass web-inspection
        for ( var i = 0; i < 100; i++) {
            $('body').html('<input type="text" onchange="validateString(this)" data-type="string"></input>');
        }
    }
});