代码之家  ›  专栏  ›  技术社区  ›  Jeff B

如何防止文本和/或页面内容在html和javascript中双击突出显示?

  •  1
  • Jeff B  · 技术社区  · 16 年前

    基本上,这是一款射击图库/导弹命令风格的游戏,当物体在屏幕上移动时,你需要点击或射击它们。我有onmousedown处理程序用于单击对象。但是,当您双击(即快速发射)时,该对象会高亮显示,如果未命中该对象,则该对象以及同一div中包含的其他对象也会高亮显示。为了解决这个问题,在mousedown处理程序中,我设置了焦点/选择了一个离开页面的文本框。这在某种程度上是有效的,因为对象不会保持高亮显示,但会在失去焦点之前短暂高亮显示。

    简而言之,有没有更好的方法防止双击对我的页面产生这种影响?

    3 回复  |  直到 16 年前
        1
  •  2
  •   Simon Tower    16 年前

    在Firefox中,只需让事件返回false即可停止高亮显示。 IE稍微复杂一点——必须让元素的“onselectstart”函数返回false。

    noHighlightObjects[i].onselectstart = function() {
                return false;
            };
    
        2
  •  1
  •   Jani Hartikainen    16 年前

    我相信你应该能够通过停止事件的传播来避免这个问题。这应该可以通过从鼠标处理程序返回false来实现。

        3
  •  1
  •   Community Mohan Dere    9 年前

    Prevent text selection after double click

    * {
         -moz-user-select: none; // mozilla browsers
         -khtml-user-select: none; // webkit browsers
    }