现在,我不知道如何做我想做的事情。
假设我有一个表单和一些特殊字段,其值自动计算。那些字段(输入)有一个名为...'calculate'的特殊类。
当用户点击其中一个输入时,我希望焦点转移到下一个有效输入(没有计算类的输入)
我认为这样就够了但不是:
$('input.calculate').bind('focus', function() {
var inputs = $(this).closest('form').find(':input');
inputs.eq( inputs.index(this)+ 1 ).focus();
});
当计算类的几个输入彼此相邻时,会发生这种不当行为:即使下一个输入具有计算类,光标也会转到下一个输入。
考虑到它是很正常的,因为这个函数的行为类似于递归函数。
有人有想法做我想做的事吗?
谢谢
答案 0 :(得分:0)
简单的方法是使用disabled
属性来禁用它们。因此用户无法选择它们(专注于它们)。
或者通过jQuery,你可以这样做:
$('.calculate').focus(function () { // note the focus event; not click
$(this).next('input').focus(); // set focus to next one!
}
这会将焦点设置为没有类.calculate
的下一个元素。此事件很有用,因为它会在输入被聚焦而不是单击时触发!