【问题标题】:Ionic 1 - Can't select text on IEIonic 1 - 无法在 IE 上选择文本
【发布时间】:2017-01-24 21:27:58
【问题描述】:

通过添加:

.scroll {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

我可以在桌面浏览器上选择文本IE 除外

我发现当我评论我的导入时:

//require('ionic-npm/js/ionic');

在 IE 上,我可以选择文本,但我需要 ionic,所以我无法评论该行。另外我不喜欢 ionic.js。

你有什么想法吗?

【问题讨论】:

  • 我看到了,但没有解决...
  • 你试过 -ms-user-select: auto; 吗?
  • 在正文和 .scroll 上是但不起作用
  • 你试过我回答中的代码了吗?

标签: css internet-explorer ionic-framework


【解决方案1】:

我在这里找到了答案:

forum.ionicframework:如何使文本可选择?

链接:Original forum Post

您是指在移动设备还是桌面设备上使用这种技术?

在移动设备上它似乎仍然对我有用,但如果它在桌面上不适合您,那可能是因为如果用户可以使用鼠标单击并拖动滚动,它就不起作用这页纸。要禁用这种类型的滚动,您可以在您的内容上启用溢出滚动:

<ion-content overflow-scroll="true">

或者您可以通过像这样进一步更改 ionic.js 来禁用鼠标单击和拖动滚动事件...

添加'return;'到此 mouseDown 函数的开头:

self.mouseDown = function(e) {
if ( ionic.tap.ignoreScrollStart(e) || e.target.tagName === 'SELECT' ) {
  return;
}
self.doTouchStart(getEventTouches(e), e.timeStamp);

if( !ionic.tap.isTextInput(e.target) ) {
  e.preventDefault();
}
mousedown = true;
};

所以它看起来像这样:

self.mouseDown = function(e) {

return; // <--- This disables all mouseDown events from scrolling the page

if ( ionic.tap.ignoreScrollStart(e) || e.target.tagName === 'SELECT' ) {
  return;
}
self.doTouchStart(getEventTouches(e), e.timeStamp);

if( !ionic.tap.isTextInput(e.target) ) {
  e.preventDefault();
}
mousedown = true;
};

此更改使您仍然可以通过鼠标滚轮使用离子滚动功能,但禁用鼠标单击和拖动滚动,以便您可以使用鼠标选择文本。

【讨论】:

  • 谢谢,但我只想在桌面上使用该选择并且不想更改 ionic.js。在这里你必须改变它
  • 是的,但是如果我升级我的 ionic lib 怎么办?我会忘记那个变化,如果项目中不是我,未来的开发人员将不得不再次在网上搜索为什么这不起作用,并且可能会在检查回归之前推动产品
  • 我知道这很可悲,但我想要一个干净的修复:p
  • 进行建议的修复并在某处留下可见的评论。为了清楚起见,也许还重命名了 lib 文件。
  • 嗯...该库在我的 node_modules 上,并且 node_modules 未在 git 上共享,因此如果我更新该库,我的合作者将不会有该更改...
猜你喜欢
  • 2011-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-06
  • 2011-05-25
  • 1970-01-01
  • 2012-02-13
相关资源
最近更新 更多