Javascript 在输入字段中输入键不做任何操作

Javascript 在输入字段中输入键不做任何操作,javascript,jquery,Javascript,Jquery,我在滑块下面有一个输入,显示滑块的值。移动滑块时,输入显示货币格式的数字。我还允许用户输入数字,滑块会相应调整 不能使用enter键激活手动字段更改,否则所有操作都会正常进行 以下HTML显示了位于滑块下的输入,如下所示: <table class="transaction-calculations"> <tbody> <tr> <td class="invoice-slider invoice">

我在滑块下面有一个输入,显示滑块的值。移动滑块时,输入显示货币格式的数字。我还允许用户输入数字,滑块会相应调整

不能使用
enter
键激活手动字段更改,否则所有操作都会正常进行

以下HTML显示了位于滑块下的输入,如下所示:

<table class="transaction-calculations">
    <tbody>
        <tr>
            <td class="invoice-slider invoice">
                <input type="range" name="avg_tran_slider" class="wpcf7-form-control wpcf7-range form-control" id="avg_tran_slider" min="0" max="50000" value="150"><br/>
            </td>
        </tr>
        <tr>
            <td class="invoice-slider">
                <input type="text" id="avg_tran" class="slider-calculator-figure" value="$150.00"/>
            </td>
        </tr>
    </tbody>
</table>
/** select input contents when activated **/
jQuery("#avg_tran").focus(function() {
    jQuery(this).select();
});

/** set slider position from manually entered value **/
jQuery("#avg_tran").blur(function() {

    monthly_invoice_value = jQuery(this).val();
    monthly_invoice_value = parseFloat(monthly_invoice_value.replace(/[^0-9-.]/g, ''));

    if(isNaN(monthly_invoice_value)) {
        jQuery("#avg_tran").val("$0.00");
        jQuery("#avg_tran_slider").val(0);
    } else {

        if(monthly_invoice_value > 50000) {
            jQuery("#avg_tran").val("$50,000.00");
            jQuery("#avg_tran_slider").val(50000);          
        } else {
            jQuery("#avg_tran").val(formatMoney(monthly_invoice_value));
            jQuery("#avg_tran_slider").val(monthly_invoice_value);
        }
        calculateCosts();
    }
});

/** set input value from slider change **/
jQuery("#avg_tran_slider").on("change mousemove", function() {
    monthly_invoice_value = jQuery(this).val();
    jQuery("#avg_tran").val(formatMoney(monthly_invoice_value));
    calculateCosts();
});
除了手动更改字段值时不能点击
enter
之外,所有功能都可以正常工作,因为它不会“去聚焦”字段并激活
blur
code


我错过了什么(除了一些弹珠!)。谢谢

如果要执行某些代码,您可以在输入上收听
enter

jQuery("#avg_tran").keypress(function(event) {
    var code = event.keyCode || event.which;

    // 13 = key code of enter
    if (code == 13) {
        // Do something. Probably trigger the blur event in your case
        jQuery("#avg_tran").blur();
    }
});
试试看:

jQuery("#avg_tran").keypress(function(event) {
        var code = event.keyCode || event.which;

        // 13 = key code of enter
        if (code == 13) {
            // Do something. Probably trigger the blur event in your case
            jQuery('#avg_tran_slider').val(jQuery("#avg_tran").val());
            jQuery("#avg_tran").blur();
        }
    });

这看起来像是Magus answer的复制粘贴(有一个小的添加),所以我建议您删除它,以免得票。