2013-03-14 69 views
1

我有一个恋物癖建立在线计算器没有大'计算'按钮。即计算发生在没有用户点击计算按钮的改变事件上。不幸的是,许多用户只需输入数据并向下滚动即可查看结果,而无需在屏幕上的其他位置标签或点击。此行为不会触发更改事件,因此结果不会更新。检测表单输入更改完成

这里有一些情形,其中我考虑用户输入完成:

  1. 用户输入数据和标签输出(变化)
  2. 用户输入数据,并从文本框出移动鼠标(按键/输入其次是鼠标)
  3. 用户标签到输入字段,输入数据并将鼠标移动到其他地方的某个距离。即,鼠标在任何时间都不在输入字段上。

执行#1 &#2应该很容易。我想看看如何最好地使用jQuery实现#3。是否有任何jQuery插件可用于帮助我完成上述所有操作或只是#3?或者,我是否应该放弃所有这些,并把一个大的计算按钮?

+0

如果你确定用户将总是要滚动到结果的div你可以检查,当它是滚动和计算结果 – dakait 2013-03-14 09:48:53

+0

只是做关于变化,焦点,在键盘上的计算,也许检测是否有人按下输入..你会全部完成 – 2013-03-14 09:49:58

+0

为什么不只是使用'键入'的变化事件,并触发时该页面已加载? – 2013-03-14 09:54:43

回答

0

下面是一个简单的计算器的例子,它更新每个输入变化。 (该值是一个int,因此没有添加的检查。)

$('#num1, #num2').bind('keyup', function() { 
    if($('#num1').val() == '' || $('#num2').val() == '') { 
     $('h1 b').html(0); 
    } else { 
     $('h1 b').html(parseInt($('#num1').val()) + parseInt($('#num2').val())); 
    } 
}).trigger('keyup'); 

JsFiddle example

+0

由于上述原因,我无法使用keyup事件。 – Zero 2013-03-14 10:38:56

+0

正如我所提到的,添加检查有效值..我没有看到问题.. – 2013-03-14 10:49:00

+0

这并不回答这个问题。 – 2014-10-06 16:14:42