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的复制粘贴(有一个小的添加),所以我建议您删除它,以免得票。