首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用JavaScript临时禁用文本选择?

如何使用JavaScript临时禁用文本选择?
EN

Stack Overflow用户
提问于 2009-05-21 06:02:07
回答 2查看 10.9K关注 0票数 16

这是一个有点具体的问题,所以我将直奔主题。

我正在为web应用程序的一部分编写一个简短而简单的拖放例程,虽然拖放部分工作正常,但在操作过程中站点变得非常丑陋,因为浏览器仍然执行默认操作并进行文本选择。

我已经尝试了一些解决方案,主要涉及从mousedown或click事件返回false,虽然它们在某些浏览器中禁用了文本选择,但它们似乎也完全禁用了mouseup事件,破坏了脚本的"drop“部分,并使这个永久浮动的图标停留在鼠标上--这并不有趣。

我并不是真的希望文本选择完全消失,我只是想建议浏览器...不要在拖动时这样做,如果这样做有意义的话。由于我知道受影响的区域(涉及到iframe),我可以轻松地将属性应用于受影响的元素,等等。如果需要,我可以发布代码,但我正在寻找更通用的解决方案。由于这只是一个美观的问题,我正在寻找一个在大多数浏览器中都能工作的修复程序,这并不是那么关键。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-21 06:24:43

在W3C浏览器中,可以对event对象调用preventDefault方法。IE的等价物是将returnValue设置为false

代码语言:javascript
复制
function stopDefault(e) {
    if (e && e.preventDefault) {
        e.preventDefault();
    }
    else {
        window.event.returnValue = false;
    }
    return false;
}

编辑:只需重新阅读问题,您可能还希望在处理实际拖动的代码部分防止默认操作,而不仅仅是在最初的鼠标向下或单击时。

票数 18
EN

Stack Overflow用户

发布于 2009-05-21 06:13:05

据我所知,拖动的元素必须位于鼠标指针下的其他元素上。如果它将随着鼠标指针移动,它将阻止在页面上进行任何选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/891581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档