Как заставить dojo.style появляться в firefox - PullRequest
0 голосов
/ 09 октября 2010

Эй, я тестировал этот код. Предупреждение отображает результат в IE, но не в Firefox:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Get computed border width</title>
    <script type="text/javascript" src="http://o.aolcdn.com/dojo/1.3.2/dojo/dojo.xd.js" djConfig="useXDomain:true">
    </script>
    <script>
        function doOnLoad(){
            var o = dojo.byId("myDiv");
            alert(dojo.getComputedStyle(o).borderWidth);
        }
    </script>
</head>
<body onLoad="doOnLoad();">
    <div style="border-width:10px" id="myDiv">
        I am myDiv
    </div>
</body>
</html>  

По какой причине предупреждение не отображается в FF?

1 Ответ

1 голос
/ 09 октября 2010

Я бы посоветовал вам прочитать документацию API для функции, которую вы используете: http://www.dojotoolkit.org/api/dojo.html#dojo.getComputedStyle (примечание: если страница переходит в неправильное место, сфокусируйте адресную строку и снова нажмите Enter.к сожалению, побочный эффект в настоящее время на страницах API ...)

Как говорится, использование getComputedStyle напрямую оставляет вас в зависимости от реализации этой функции конкретным браузером.В случае borderWidth Gecko, по-видимому, автоматически расширяет его до borderTopWidth и т. Д., Впоследствии исключая значение самого borderWidth.

Возможно, вы гораздо больше заинтересованы в использовании этоговместо этого:

dojo.style(o, 'borderWidth')

, который вернет 10 в обоих браузерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...