jQuery调用keyup事件不起作用
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();
});
});
我希望在加载页面时加载转换后的值,而不是等待按键。在.each函数中添加标签后,我尝试调用keyup事件,但似乎无法使其正常工作(还尝试在函数外调用$("input.currency field").keyup();
最好将其全部封装在一个函数中,然后将其用于绑定和文档准备(或您想使用它的任何其他地方),但是您可以使用触发器来执行您想要执行的操作:
$("input.currency-field").trigger('keyup');
这应该会触发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();
});
1.将其包装在Ready处理程序中
$(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事件。
相关文章:
- JsFiddle上的鼠标事件不起作用
- 在IE8中不起作用的元素上触发单击事件
- 链接上的IE10 jquery句柄单击事件不起作用
- Javascript点击事件回调不起作用
- jQuery加载完成事件不起作用
- 覆盖单击事件不起作用
- 鼠标事件在OpenLaszlo应用程序中不起作用
- 单击事件不起作用
- 插入后单击锚点标记上的事件after不起作用
- 为什么body元素上的onclick事件不起作用
- 追加Jquery后的Binding Click事件不起作用
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- 添加事件侦听器不起作用
- onclick事件在asp.net上不起作用
- jQuery调用keyup事件不起作用
- 单击事件在jquery easyui多选项卡中不起作用
- jQuery ContextMenu事件在IOS 8.2中不起作用
- 第二个事件[onClick]不起作用
- 按键事件上的简单HTML输入不起作用
- Keyup事件在easyui上不起作用