javascript 如何在一个html标记上调用多个onkeyup事件

uidvcgyl  于 2023-03-16  发布在  Java
关注(0)|答案(4)|浏览(252)

我可以在同一个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">

或者像这样?我把它们都找出来了,但是我可能有错误的语法?或者有没有更好的方法?

kknvjkwl

kknvjkwl1#

你不能称之为事件,它们是事件,它们发生了。
可以使用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();
});
baubqpgj

baubqpgj2#

另一条去罗马的路:
如果要调用多个函数并将事件设置为内联,则可以编写一个额外的方法来调用所有方法。
例如

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

脚本

function yourElemOnKeyup(id){
       checkNr(id);
       fill();
}
dpiehjr4

dpiehjr43#

这很简单,你能用什么方法都行

onchange/onclick="method1() && method2();"
ebdffaop

ebdffaop4#

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="" method="">
         <input type="number" name="admissionNumber" id="admissionNumber" onkeyup="getStudentName(); getStudentClassName()">
    </form>
    <script>
      function getStudentName(){
      }
      function getStudentClassName(){
      }
    </script>
</body>
</html>

相关问题