Я использую третью библиотеку, которая добавляет 'transform: translate3d (200,0,0);' к родительскому элементу. Таким образом, элементы внутри svg имеют тенденцию двигаться вправо. Для перетаскивания & событий падения достаточно установить начало координат, но у меня возникают проблемы, чтобы исправить d3.mouse (это).Родительское преобразование css, влияющее на точки d3.mouse
Я создал jsfiddle этого примера: http://bl.ocks.org/hlucasfranca/f133da4493553963e710
jsFiddle: https://jsfiddle.net/rahpuser/5jp6123u/
Таким образом, при нажатии кнопки без применения преобразования к родителю, все нормально, но когда родитель имеет преобразование, d3 .mouse возвращает неправильный номер
var coords = d3.mouse(this);
coords[0] === 100; //true without transform..
coords[0] === 300; // true when the transform to the parent is applied.
// the values are not precise but you can verify the behavior in the jsfiddle
- Почему d3.mouse (это) не в состоянии получить правильное значение?
Мое понимание заключается в том, что d3.mouse должен получить соглашения на основе контейнера (svg).
- Что мне делать, чтобы исправить поведение, поддерживающее родительский объект новым преобразованием?
Спасибо.
UPDATE:
Не работает в Firefox 46 для убунту
Работа хорошо в хроме и опере
Я использую Opera, и все выглядит правильно. Нет ошибок. Может быть, это ваш браузер? – Klaujesi
Интересно, позвольте мне попробовать, и я обновлю вопрос. – rahpuser
Просто добавьте дополнительную информацию: это работает корректно для меня в Chrome (v50.0), но, как вы описали, ломается в Firefox (v46.0). – meetamit