OnChange和OnKeyUp控件

时间:2014-09-21 03:08:46

标签: javascript jquery html

我有一个编辑框,可以在我的html页面上接受电子邮件地址。

目前,我有一个javascript通话' onkeyup'验证电子邮件地址是否正常。

用户输入时效果很好。

但是,如果我开始输入我的地址(我们将使用me@example.com),我会从:

开始
me@

我的自动填充程序为我提供了me@example.com',因为我之前使用过它。

当我从自动填充功能下拉菜单中选择时 - ' onkeyup'没有开火。相反,' onchange'火灾。

我需要两个人开火。作为suer类型,我想验证(onkeyup),但我还需要触发javascript' onchange'。但是,我不认为我应该解雇这两件事。有没有办法处理单个事件?

3 个答案:

答案 0 :(得分:2)

您没有触发事件 - 浏览器是。你只是在倾听它们并在它们发生时采取行动。

不是在HTML中使用两个事件驱动的函数,而是使用适当的侦听器对任一事件执行一个函数:

$('#myInput').on('keyup change', function() {
    // do validation
});

答案 1 :(得分:1)

我只会为输入禁用自动填充autocomplete="off"。浏览器对自动完成的反应不同,所以除非您想事先测试浏览器,否则最好只关闭自动完成功能。

答案 2 :(得分:0)

最佳答案

您可以使用oninput事件来组合这些事件。此事件也可以通过粘贴(ctrl + v)来雇用。

<input name="title" oninput="func()">

或者您也可以通过onchange事件触发onkeyup

<input name="title" onkeyup="$(this).trigger('change')" onchange="func()">