Почему я не могу получить смещение DIV с помощью JSDOM? - PullRequest
1 голос
/ 01 апреля 2020

Вот что я делаю:

var mocha = require('mocha');
mocha.describe('div', function() {
  mocha.it('positions', function() {
    document.body.innerHTML = '<div style="left:55px;position:absolute;" id="d">x</div>'
    var div = document.getElementById('d');
    var rect = div.getBoundingClientRect();
    console.log('Left: ' + rect.left);
  }
}

Я получаю это:

Left: 0

Это должно быть 55, не так ли? Я использую jsdom / 16.2.2, jsdom-global / 3.0.2, mocha / 6.1.4.

Ответы [ 2 ]

2 голосов
/ 01 апреля 2020

jsdom не реализует механизм компоновки (https://github.com/jsdom/jsdom/issues/1322), поэтому не может вычислять смещения.

0 голосов
/ 01 апреля 2020

Согласно источникам getBoundingClientRect метод это только заглушка. Другими словами, этот метод не делает никаких расчетов.

...