1 - ведение кода при загрузке страницы
Вы можете поместить тег script
в самом конце страницы, непосредственно перед закрывающим тегом </body>
.Вот где ребята из YUI предлагают тебе это поставить.Таким образом, он не замедляет загрузку страницы и имеет доступ ко всем элементам в DOM, которые предшествуют ей.Пара полезных ссылок:
2 - добавить списки событий в элементы с именами классов в чистом JS (т.е. без библиотек)
Большинство современных браузеров поддерживают document.getElementsByClassName
.Для браузеров, которые этого не делают (например, более старые версии IE), вы можете найти несколько его реализаций JavaScript.
Фактическое дополнение потребует обработки версий IE, которые не поддерживают addEventListener
.К счастью, это легко, потому что есть attachEvent
.Просто используйте служебную функцию, чтобы определить, какая из них доступна, и использовать ее.
Не по теме : Вы сказали, что не хотите использовать библиотеку, но, честно говоря,если вы хотите создать что-то сложное и надеетесь запустить его в самых разных браузерах, я бы рекомендовал пересмотреть его.Вы можете использовать много тяжелой работы и исследований, используя такие библиотеки, как jQuery , Прототип , YUI , Closure или любой из нескольких других .Они не просто предоставляют удобные служебные функции.Хорошая библиотека также будет работать с известными ошибками браузера, о которых вы не узнаете, пока не столкнетесь с ними, потому что кто-то пытается использовать вашу страницу, и она не совсем работает должным образом.Использование широко используемой, часто обновляемой библиотеки - это не то, что вы не l3t c0d3r.Это просто означает, что вы решили сосредоточиться на собственных проблемах, а не диагностировать ошибки и несоответствия браузера.Я имею в виду ... знаете ли вы , что Safari неверно сообщит о выбранном по умолчанию свойстве option
, если вы сначала не получите доступ к свойству selectedIndex
родителя?Да, я тоже.