如何在Javascript中为单个事件调用多个函数?

时间:2015-08-20 10:37:09

标签: javascript html

 <!DOCTYPE html> 
 <html> 
 <body>

 <input type="text" onMouseover= "this.style.color='red'">Mouse over
 me!</input>

 </body> 
 </html>

我还想与"this.style.cursor='default'"

一起致电"this.style.color='red'"

4 个答案:

答案 0 :(得分:2)

声明的

使用;

分隔通话
<input type="text" onMouseover= "function1(); function2();">
  Mouse over me!
</input>

专用包装函数

<input type="text" onMouseover="dedicatedFunction()">
  Mouse over me!
</input>

并在<script>标记中定义此功能:

function dedicatedFunction() {
  function1()
  function2()
}

作为规定

正如Xufox所说,您也可以使用addEventListener来执行此操作:

这意味着您可以使用DOM选择器直接作为Javascript对象访问DOM节点:

var node = document.getElementById('yourObjectId')

或直接通过Javascript创建DOM节点:

var node = document.createElement('input')

然后,您可以在对象上使用addEventListener

node.addEventListener('mouseover', function1)
node.addEventListener('mouseover', function2)

甚至直接使用匿名函数

node.addEventListener('mouseover', function () {
  // ...
})

这种方式的好处是您可以随时添加事件侦听器。您还可以使用removeEventListener

随时删除eventListener

https://developer.mozilla.org/fr/docs/Web/API/EventTarget/removeEventListener

答案 1 :(得分:1)

你可以把函数写成多个属性

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                if(done>=x) {
                    x=x+x;
                    y++;
                    Menu.progressBar.setValue(y);

                }
            }
        });

答案 2 :(得分:0)

此处无需使用Javascript事件,只需在元素悬停时更改colorcursor样式。

您可以使用:hover类CSS。

span:hover {
  cursor: default;
  color: red;
}

/* Override */
#input {
  color: gray !important;
}
<span>
  <input id="input" type="text" onMouseover= "this.style.color='red'">Mouse over me!
</span>

答案 3 :(得分:0)

您只需使用;分隔两个事件:

 <!DOCTYPE html> 
 <html> 
 <body>

 <input type="text" onmouseover= "this.style.color='red';this.style.cursor='default';">Mouse over me!

 </body> 
 </html>

但你最好用<script>来编写标准代码:

 <!DOCTYPE html> 
 <html> 
 <body>

 <input type="text" onmouseover="foo(this);">Mouse over me!
 <script type="text/javascript">
 function foo(ele) {
     ele.style.color="red";
     ele.style.cursor="default";
 }
 </script>
 </body>
 </html>

使用addEventListener是最好的方法,但它可能导致浏览器之间的兼容性问题,您可以阅读它以供参考: addeventlistener-vs-onclick