2010-12-06 3 views
0

Я боролся с получением Dijit.form.DateTextBox, работающим внутри div. Я обнаружил, что если я применил класс «claro» к тегу body, он будет работать нормально. Хотя, я не хочу, чтобы класс клао перезаписывал мои другие стили. Кроме того, у меня нет доступа к тегу моего тела на всех моих страницах из-за MVC.Dijit.form.DateTextBox проблема с применением класса к телу

Вот что у меня есть:

<html> 
    <head> 
     <style type="text/css"> 
      body, html { font-family:helvetica,arial,sans-serif; font-size:90%; } 
     </style> 
     <script src="dojo/dojo.js" 
     djConfig="parseOnLoad: true"> 
     </script> 
     <script type="text/javascript"> 
      dojo.require("dijit.form.DateTextBox"); 
      dojo.require("dijit.layout.ContentPane"); 

     </script> 
     <link rel="stylesheet" type="text/css" href="dijit/themes/claro/claro.css" 
     /> 
    </head> 

<body> 
<table> 
    <tr> 
    <td> 
     <div dojoType="dijit.layout.ContentPane" class="claro"> 
      <input type="text" name="date1" id="date1" value="2005-12-30" dojoType="dijit.form.DateTextBox" /> 
     </div> 
    </td> 
    <td> 
     <div dojoType="dijit.layout.ContentPane" class="claro"> 
      <input type="text" name="date2" id="date2" value="2005-12-30" dojoType="dijit.form.DateTextBox" /> 
     </div> 
    </td> 
    </tr> 
</table> 
</body> 
</html> 
+0

и какие проблемы у вас, когда вы делаете это таким образом? Я собираюсь предположить, что всплывающее окно не имеет надлежащего стиля, так как оно может быть заселено в другом месте DOM. Я подозреваю, что Диджит требует, чтобы тема была настроена на ТЕЛО по этой причине. – peller 2010-12-07 01:42:00

ответ

0

Просто был его реализовать функцию календаря, которая поставляется с jQueryUI. Это гораздо более прямолинейно. Я рассматриваю Dojo как нечто большее, чем Application Framework, вместо того, чтобы просто использовать определенные виджеты для веб-страниц.

0

Это происходит потому, что по умолчанию все всплывающие окна dojo добавляются к BODY (странно).

Я нашел работу вокруг. Просто скопируйте tundra/calendar.css в calendarFix.css и удалите из него все ссылки .tundra или .claro. Например, рассмотрим следующий фрагмент:

: 
.tundra .dijitCalendarDecrease { 
background-position: top left; 
} 
.tundra .dijitCalendarIncrease { 
background-position: -30px top; 
} 
.tundra .dijitCalendarContainer { 
font-size: 100%; 
border-spacing: 0; 
border-collapse: separate; 
border: 1px solid #ccc; 
margin: 0; 
} 
: 

к

: 
.dijitCalendarDecrease { 
background-position: top left; 
} 
.dijitCalendarIncrease { 
background-position: -30px top; 
} 
.dijitCalendarContainer { 
font-size: 100%; 
border-spacing: 0; 
border-collapse: separate; 
border: 1px solid #ccc; 
margin: 0; 
} 
: 

 Смежные вопросы

  • Нет связанных вопросов^_^