javascript - 如何在 onmouseleave 和点击鼠标左键时触发一些功能?

标签 javascript jquery html css

我有如下代码:

现在我想添加功能,不仅在我离开框/方 block 时增加计数器,而且还可以在框/方 block 外单击鼠标左键。因此,仅当鼠标离开框/正方形并在框/正方形外部单击时,计数器才会增加。

var counter = 0;

function myLeaveFunction() {
  document.getElementById("demo").innerHTML = counter += 1;
}
div {
  width: 100px;
  height: 100px;
  border: 1px solid black;
  margin: 10px;
  float: left;
  padding: 30px;
  text-align: center;
  background-color: lightgray;
}
<div onmouseleave="myLeaveFunction()">
  <p>onmouseleave: <br> <span id="demo">Mouse over and leave me AND CLICK OUTSIDE THE BOX!</span></p>
</div>

最佳答案

添加一个 bool 值来检查鼠标是否离开了 div 并将点击处理程序绑定(bind)到文档:

var counter = 0;
var mouseLeft = false;
function myLeaveFunction() {
    document.getElementById("demo").innerHTML = counter+=1;
    mouseLeft = true;
}

function clickBody() {
    if (mouseLeft == true)
        document.getElementById("demo").innerHTML = counter+=1;

    mouseLeft = false;
}
document.onclick = clickBody;

关于javascript - 如何在 onmouseleave 和点击鼠标左键时触发一些功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50956366/

相关文章:

javascript - 有条件地在 freemarker 模板中显示行

html - 表格内容未在移动设备上调整大小

javascript - 如何将文本从 div 复制到剪贴板

javascript - WebSQLDatabase 插入行后几秒钟没有响应

javascript - 需要结合 jquery 函数的帮助

javascript - 如何正确使用Jquery模糊功能

javascript - 缓存事件变量而不将其设为全局变量

javascript - 如何防止我们网站的图像和内容被盗?

javascript - 使用 JavaScript 删除 HTML 中的表 tr

javascript - 将 ngInit 添加到具有指定 css 类的所有元素