![](/img/trans.png)
[英]jQuery: Triggering event on dblclick not working (but working on keyup etc.)
[英]jQuery calling keyup event not working
需要一点帮助...
以下内容在输入数值后添加了转换后的货币标签-当我按下按键时可以正常工作(我可以看到隐藏的标签):
$(document).ready(function(){
$("input.currency-field").each(function () {
$(this).after("<label class='currency'></label>");
});
$("input.currency-field").bind("keyup", function () {
$(this).siblings('label.currency').text($(this).val());
$(this).siblings('label.currency').formatCurrency();
});
});
我想在页面加载时加载转换后的值,而不是等待按下keyup。 我已经尝试在.each函数中添加标签后调用keyup事件,但是我似乎无法使其正常工作(也尝试在$之外调用$(“ input.currency-field”)。keyup()功能;
将代码放入函数中,然后在加载时以及在keyup
事件中调用它。 尝试这个:
// Load
$("input.currency-field").each(function () {
$(this).after("<label class='currency'></label>");
setLabelValue($(this));
});
// Keyup
$("input.currency-field").bind("keyup", function() { setLabelValue($(this)) });
function setLabelValue($el) {
$el.siblings('label.currency').text($el.val());
$el.siblings('label.currency').formatCurrency();
});
最好将其全部包装在一个函数中,然后将其用于绑定和准备好的文档(或者您想在其他任何地方使用它),但是您可以使用触发器进行尝试:
$("input.currency-field").trigger('keyup');
如果已设置,则应触发keyup事件。
1.将其包装在就绪处理程序中
$(document).ready(function(){
$("input.currency-field").each(function () {
$(this).after("<label class='currency'></label>");
});
$("input.currency-field").bind("keyup", function () {
$(this).siblings('label.currency').text($(this).val());
$(this).siblings('label.currency').formatCurrency();
});
});
我通常发现keyup事件在各种方面都不可靠。 我可能会转到绑定的keypress()事件,除非您专门寻找要按住的键,然后为每个动作使用不同的功能。
如果要在文档准备好时计算值,可以采用匿名函数,并使其成为“真实的”命名函数,然后在文档准备好时调用它,并将其附加到keyup / keypress事件中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.