【问题标题】:how the two event become workable simulatenously in javascript这两个事件如何在 javascript 中同时生效
【发布时间】:2014-04-03 11:18:02
【问题描述】:

我有一个标签和弹出面板,当鼠标移到标签上时弹出窗口将显示,当鼠标移出标签时弹出窗口将隐藏。我已经完成了,但是当弹出窗口显示并且光标在其中移动时,弹出窗口将保留。我面临两个事件不能同时工作的问题。

【问题讨论】:

  • 你能用你的代码创建一个小提琴吗?了解您的问题会更有帮助。
  • label.addEventListener("mouseover",function(e) { body.appendChild(popup); { popup.addEventListener("mouseout",function(e) { body.removeChild(popup); } );} });} label.addEventListener("mouseout",function(e) { body.removeChild(popup); });
  • 请使用jsfiddle.net编写您的代码。
  • 要么标签一起工作,要么如果我删除最后一个监听器而不是弹出监听器将工作我不知道该怎么做
  • 您可以编辑您的问题并添加 HTML 和 JavaScript 代码吗?

标签: javascript mouseover jsni mouseout


【解决方案1】:
           var hideDelayTimer=null;
           var hideDelay=100;
           label.addEventListener("mouseover",function()
          {
            if(hideDelayTimer)clearTimeout(hideDelayTimer);

              alert('mouseover');
              label.appendChild(popup);     
          });

          label.addEventListener("mouseout",function()
            {   
            alert('mouseout');
            if(hideDelayTimer)clearTimeout(hideDelayTimer);
            hideDelayTimer=setTimeout(function()
            {
            hideDelayTimer=null;
            label.removeChild(popup);

           },hideDelay);    

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多