ПОЧЕМУ Ionic не позволяет копировать вставить по умолчанию? - PullRequest
0 голосов
/ 16 января 2019

По другим опубликованным вопросам и ионным форумам, которые я видел (см. Ссылки ниже), кажется, что ionic имеет своего рода настройку по умолчанию в своих компонентах, которая автоматически применяет user-select: none к телу приложения.

Я не ищу обходной путь здесь, а скорее хотел бы понять ЦЕЛЬ этого. Почему ионные разработчики сделали это по умолчанию? Как именно это применяется? Есть ли какой-то 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: Как сделать текст выбираемым?

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

1 Ответ

0 голосов
/ 17 января 2019

Ionic использует hammer.js, который по умолчанию оптимизирует поведение определенным образом (приглядываясь). В частности, смотрите эту страницу: http://hammerjs.github.io/tips/

«Я больше не могу выбрать свой текст!» Hammer устанавливает свойство для улучшения UX панорамирования на рабочем столе. Обычно браузер рабочего стола выбирает текст, когда вы перетаскиваете страницу. Свойство css, выбранное пользователем, отключает это.

Если вы заботитесь о выделении текста, а не о работе с компьютером, вы можете просто удалить эту опцию из значений по умолчанию. Убедитесь, что вы делаете это перед созданием экземпляра.

delete Hammer.defaults.cssProps.userSelect;
...