Dojo marginBox возвращает другое значение - PullRequest
0 голосов
/ 18 апреля 2011

Любой может подсказать мне, в чем разница между this.marginBox а также dojo.marginBox (this.node)

Я путаю с этими двумя, где они возвращают различное значение.

Ответы [ 3 ]

0 голосов
/ 18 апреля 2011

Dojo предоставляет только метод dojo.marginBox() - мне не известно, что Dojo предоставляет какой-либо прототип или миксин, который включает метод this.marginBox.Другими словами, только dojo.marginBox(this.node) является правильным.

Было бы полезно, если бы вы предоставили примеры того, что эти методы возвращают для вас.Я ожидаю:

var example = this.marginBox;

вернет undefined в большинстве случаев.Однако, если вы попытались присвоить this.marginBox следующим образом:

// Don't do this - marginBox is not a DOM property!
this.marginBox = 10;

, тогда будущие вызовы this.marginBox вернут 10 ... может показаться, что он что-то делает, но у него естьне имеет ничего общего с Dojo или CSS и просто возвращает то, что вы вставили ... не очень полезно!

0 голосов
/ 10 декабря 2013

Я был бы очень осторожен в использовании dojo.marginBox, я просматривал вопрос об этом и обнаружил следующее:

https://bugs.dojotoolkit.org/ticket/12492

к сожалению, команда dojo не решит проблему, потому что метод dojo.marginBox(..) не будет работать для скрытых узлов, цитируя тикет "поведение не определено при вызове на скрытых узлах" .

Что я сделал, я проверил clientWidth / Height узла.

0 голосов
/ 18 апреля 2011

Какие два значения вы получаете обратно? (Некоторое время я не использовал додзё, но мне кажется, что я помню один из них, включая отступы, а другой нет?)

...