为什么Ionic不允许默认将复制粘贴粘贴?

时间:2019-01-16 17:42:32

标签: angular ionic-framework sass ionic4

从我见过的其他问题和ionic论坛(请参阅下面的链接)看来,ionic在其组件中具有某种默认设置,可自动将user-select: none应用于应用程序主体。 / p>

我不是在这里寻找解决方法,而是希望了解其用途。为什么离子显影剂将其设置为默认值?究竟如何应用?后台是否有应用此功能的JavaScript?

如果我应用诸如app.scss中的解决方法:

body {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}

或在app.module.ts中应用:

@NgModule({
  declarations: [
    ....
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp, {
      platforms: {
        ios: {
          scrollAssist: false,
          autoFocusAssist: false
        },
        android: {
          scrollAssist: false,
          autoFocusAssist: false
        }
      }
    }),
    HttpModule
  ]
})
....,

..我会否覆盖最初打算使用的Ionic的某些有用或必要功能?

应用这些选项之一会带来哪些副作用?

参考链接: ionic 2: How to make text selectable?

https://github.com/ionic-team/ionic/issues/5198#issuecomment-344606178

1 个答案:

答案 0 :(得分:0)

Ionic使用Hammer.js,默认情况下会以某种方式(眼动触摸)优化行为。具体请参见此页面:http://hammerjs.github.io/tips/

“我无法再选择我的文字!” Hammer设置了一个属性,以改善桌面平移的用户体验。通常,当您在页面上拖动时,桌面浏览器会选择文本。用户选择的css属性禁用了此功能。

如果您只关心文本选择而不是桌面体验,则可以从默认设置中删除此选项。确保在创建实例之前执行此操作。

delete Hammer.defaults.cssProps.userSelect;