如何从意外的鼠标操作中检测输入的变化?

时间:2015-03-05 13:53:17

标签: javascript jquery firefox

我在发送表单之前需要验证输入字段。

所以我在这个字段上绑定一个keyup事件,它发送一个XmlHttpRequest,然后我在我的ihm上显示结果。它工作正常。

但现代浏览器提供了一些将信息添加到输入字段的其他方法:

  • 它会记住上一个值并将其作为下拉列表提供

enter image description here

  • 也可以从剪贴板粘贴

我尝试了各种事件来检测它们,但没有人触发(当然是关键时刻)。

$('#theForm').on('keyup', '.url', checkUrl);
$('#theForm').on('changes', '.url', checkUrl);
$('#theForm').on('click', '.url', checkUrl);

是否可以检测到这些事件?

我的目标浏览器是Firefox 17。

1 个答案:

答案 0 :(得分:1)

您可以使用input事件检测该事件:

$('#theForm').on('input', '.url', checkUrl);

小提琴测试:http://jsfiddle.net/t8exjuq2/

enter image description here

点击:

enter image description here

(提交小提琴的输入一次以获得工具提示)

编辑::在firefox 22.0和chrome

中测试

另外,请注意change事件几乎可以听到除此之外的一切。

最终编辑::

关于paste,您可以使用.... paste

来检测该事件
$('#theForm').on('paste', '.url', checkUrl);

http://jsfiddle.net/490gz5vy/