JSFiddle - React, Tailwind, and code Playground

HTML

<b>Tests</b><br/><br/>
empty input field<br/>
<input class="mask"/> <input class="fix_mask"/> <br/><br/>

input field set via html <b>value="2.1"</b><br/>
<input class="mask" value="2.1"/> <input class="fix_mask" value="2.1"/> <br/><br/>

input field set via html <b>value="2.11"</b><br/>
<input class="mask" value="2.11"/> <input class="fix_mask" value="2.11"/> <br/><br/>

input field set via html <b>value="200"</b><br/>
<input class="mask" value="200"/> <input class="fix_mask" value="200"/> <br/><br/>

input field set via javascript <b>constant</b><br/>
<input id="const1" class="mask"/> <input id="const2" class="fix_mask"/> <br/><br/>

input field set via javascript <b>variable</b><br/>
<input id="var1" class="mask"/> <input id="var2" class="fix_mask"/> <br/><br/>

input field set via .maskMoney('mask',<b>number</b>);<br/>
<input id="maskmoney1" class=""/> <input id="maskmoney2" class=""/> <br/><br/>

input field set via .maskMoney('mask',<b>string</b>);<br/>
<input id="maskmoney3" class=""/> <input id="maskmoney4" class=""/> <br/><br/>

JavaScript

//------------------------------------jquery.maskMoney.js-----------------------------------------------------
(function ($) {
    "use strict";
    if (!$.browser) {
        $.browser = {};
        $.browser.mozilla = /mozilla/.test(navigator.userAgent.toLowerCase()) && !/webkit/.test(navigator.userAgent.toLowerCase());
        $.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
        $.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
        $.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());
    }

    var methods = {
        destroy : function () {
            $(this).unbind(".maskMoney");

            if ($.browser.msie) {
                this.onpaste = null;
            }
            return this;
        },

        fix_mask : function (value) {
            return this.each(function () {
                var $this = $(this),
                    decimalSize;
                // no value passed to moneyMask('mask') and field has numeric value
                if (typeof value === "undefined" && typeof Number($this.val()) === "number")
                    value = Number($this.val());
                // number as string passed to moneyMask
                if (typeof Number(value) === "number")
                    value = Number(value);
                if (typeof value === "number") {
                    $this.trigger("mask");
                    decimalSize = $($this.val().split(/\D/)).last()[0].length;
                    value = value.toFixed(decimalSize);
                    $this.val(value);
                }
                return $this.trigger("mask");
            });
        },
        mask : function (value) {
            return this.each(function () {
                var $this = $(this),
                    decimalSize;
                if (typeof value === "number") {
                    $this.trigger("mask");
                    decimalSize = $($this.val().split(/\D/)).last()[0].length;
                   ...