关于js的 给一个按钮添加两个事件

关于js的 给一个按钮添加两个事件,第1张

先写两个事件

function

a(){}

function

b(){}

在写一个调用这两个:

function

c(){

a()

b()

}

最后在input里调用c事件就可以了

着知识一种办法还有其他法子在找找

举个粟子,写一个段落“鼠标悬停时把字体颜色变成红色,背景颜色变成灰色,离开时恢复”:

代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>会变色的段落</title>

<script>

function chfgcolor(){

var e=document.getElementById("demo")

e.style.color="red"

}

function chbgcolor(){

var e=document.getElementById("demo")

e.style["background-color"]="grey"

}

function chback(){

var e=document.getElementById("demo")

e.style="color:#000000background-color:#ffffff"

}

</script>

</head>

<body>

<p id="demo" onmouseover="chfgcolor()chbgcolor()" onmouseout="chback()">这是一会变色的段落</p>

</body>

</html>

以下是运行效果截图:

代码截图

悬停前和离开后

动图

代码说明:这里面确实一次为这个段落创建了两个事件,都是DOM通用的事件,一个叫mouseover(鼠标悬停),一个叫mouseout(鼠标离开),mouseover事件触发时要用到2个函数(function), 分别是chfgcolor和chbgcolor, 而mouseout只用到1个chback函数。

还有,事件触发时会运行一些东西,但是不一定是函数。

js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突。

我们加一个延迟时间就能很好的解决这个问题。

原理: 当接收到第一个点击时,我们先把单击事件存储在这个是全局变量 click_store 里,如果 0.3 秒内没有接收到双击事件,就去执行它,如果接收到了,我们把它清理掉,然后去执行双击事件。setTimeout() 可以实现延迟执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11827444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存