4

我可以在同一个 html 输入标签上调用多个 onkeyup 事件吗?

<input style="float: left; width: 50px;" id="PersonLength" name="PersonLength" onkeyup="checkNr(this.id)" onkeyup="fill()" type="text"> 

类似的东西?

<input style="float: left; width: 50px;" id="PersonLength" name="PersonLength"  
onkeyup="checkNr(this.id), fill()" type="text"> 

还是这样?我都用了它们,但我可能有错误的语法?或者有更好的方法吗?

4

3 回答 3

18

您不调用 onkeyup事件,它们是事件,它们发生

您可以使用 EventListener API 添加多个事件侦听器。

var input = document.getElementById("my_input");
input.addEventListener("keyup", function () {
    doSomething();
});
input.addEventListener("keyup", function () {
    doSomethingElse();
});
// .. etc

另一种表示法是:

<input .. onkeyup="checkNr(this.id); fill()" type="text">
                                   ^- semicolon

这类似于:

var input = document.getElementById("my_input");
input.addEventListener("keyup", function () {
    checkNr(input.id);
    fill();
});
于 2013-07-25T13:39:35.637 回答
3

前往罗马的另一种方式:

如果您想调用多个函数并将事件设置为内​​联,您可以编写一个额外的方法来调用所有方法。

例如。

<input style="float: left; width: 50px;" id="PersonLength" name="PersonLength" onkeyup="yourElemOnKeyup(this.id)" type="text">

脚本

    function yourElemOnKeyup(id){
       checkNr(id);
       fill();
}
于 2013-07-25T13:46:05.523 回答
0

它很容易。使用您可以使用的任何方法

onchange/onclick="method1() && method2();"
于 2021-04-26T10:51:34.860 回答