Перетаскивание курсора на элемент SVG меняет курсор на i-beam (например, |) в Webkit (Chrome / Safari) - PullRequest
3 голосов
/ 15 сентября 2011

В любом месте внутри svg,

  • mousedown внутри svg, например, на элементе или на самом холсте svg
  • перетащите курсор вокруг
  • обратите внимание, каккурсор изменился на i-beam

Решения, которые я пробовал, которые не сработали

  • изменив курсор CSS на перетаскиваемый элемент svg на «курсор: по умолчанию! важный»
  • изменение курсора CSS на корневой элемент svg на «курсор: по умолчанию! Важный»
  • изменение курсора CSS на элемент тела html на «курсор: по умолчанию! Важный»
  • используя CSS всех вышеперечисленных 3
  • изменяя document.onselectstart согласно chrome устанавливает курсор на текст при перетаскивании, почему?
  • изменяет корневой элемент svg cursor атрибут «по умолчанию» или «указатель»
  • изменение атрибута перетаскиваемого элемента cursor, как указано выше
  • изменение атрибута cursor корневого элемента svg и перетаскиваемого элемента

Буду признателен за любые идеи.Насколько я могу судить до сих пор, это ошибка в Webkit.Это происходит в Chrome и Safari, но не в других браузерах.

Ответы [ 4 ]

3 голосов
/ 13 февраля 2012

Это сообщенная ошибка в Webkit.Похоже, что это исправлено в ночных клубах, хотя я не уверен, как определить, когда это поведение появится в Chrome / Safari.https://bugs.webkit.org/show_bug.cgi?id=17258

См. Также:

0 голосов
/ 21 августа 2015

Попробуйте это:

svg { cursor: default; }
0 голосов
/ 12 февраля 2012

Если у вас есть доступ к источнику SVG (это XML), вы можете добавить

pointer-events="none"

атрибут для элемента . Это приведет к тому, что курсор останется стрелкой, а не изменится на двутавровую балку.

Не так просто, как установить глобальный атрибут CSS, но это решение.

0 голосов
/ 03 декабря 2011

Не уверен, почему, или это исправление достаточно для меня (вас), но я обнаружил, что когда я вызываю .draggable JqueryUI для элемента svg, курсор выбора текста исчезает. Вероятно, ошибка, но интересно.

...