1

在 Chrome v.25 中,我使用此代码来避免在拖动 HTML 元素时出现文本光标:

document.addEventListener("mousemove",function(e) { e.returnValue = false; });

每个<input type="number"/>都是残废的(见jsfiddle

我已经设法通过仅在拖动时设置错误的 returnValue 来避免这种情况。但是这里到底发生了什么?它是错误还是某些功能?

4

1 回答 1

1

如果我正确理解您的意思,您可以使用 CSS 实现此目的...

.no-select {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

只需将其添加到您不想选择的元素中即可。

这看起来确实是一个字符串问题,因为我不会将按下数字输入称为 mousemove 事件,但无论如何,问题都存在。CSS 可能是一个更优雅的解决方案。

在这里检查小提琴:

http://jsfiddle.net/uP7TH/3/

于 2013-03-15T11:02:11.863 回答