javascript - 如何将鼠标悬停和鼠标单击放在同一元素上

标签 javascript jquery html

我正在使用 href 标签。我需要在鼠标悬停时打开一个弹出窗口,并需要在单击该标签时打开另一个页面。

我需要这样的东西;

<a href='#'onclick='method1();' onmouseover ='method2();'>SOMETHING</a>

method2() 将打开一个弹出窗口。 method1() 将重定向到另一个页面。

问题是当我尝试点击时,弹出窗口总是打开(方法 2 被调用)。如何解决这个问题?

最佳答案

无法检测用户是否有点击链接的意图。因此,每次用户在链接上输入鼠标时,都会执行弹出功能。

您可以设置超时。如果用户在该时间限制内没有点击链接,弹出窗口将得到提醒

$(document).on('mouseenter', '#link', function() {
  setTimeout(function() {
    var that = $(this);
    if (!that.hasClass('clicked')) {
       alert('popup on hover!!');
    }
  }, 1000);
});

$(document).on('click', '#link', function() { 
  var that = $(this);
  that.addClass('clicked');
  alert('clicked!!');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a id="link" href="">Link</a>

关于javascript - 如何将鼠标悬停和鼠标单击放在同一元素上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29740849/

相关文章:

javascript - 如何从存储在 cookie 中的图像路径加载图像?

javascript - 我怎样才能找到正在发送确认的内容?

html - 删除 h1 标签中的内部空间

javascript - 如何视差边距最高值

javascript - 如何使 create-react-app 自动构建?

javascript - 当 fadeTo 完成时,淡入 div 并使用新颜色 (rgba)

javascript - 如何查找具有特定 data- 属性的所有标签?

javascript - JQuery.css(property, value) 导致 404 not found 错误

javascript - 为什么在对象内部的 javascript 函数中需要这个?

html - Bootstrap 4 - 如何为不同的屏幕尺寸重新定位一些导航栏元素