Документация JavaScript в стандартизированных браузерах для событий - PullRequest
4 голосов
/ 12 апреля 2011

Я пытаюсь выучить JavaScript и нахожу эту задачу немного сложной в некоторых отношениях.В настоящее время я ищу поддержку событий в основных браузерах.Что касается событий, кажется, что есть два основных варианта: (1) способ Microsoft и (2) стандартизированный способ .

Мне известно, что IE 8 не поддерживает события DOM уровня 2, но ожидается, что IE 9 будет поддерживать события DOM уровня 3.На стороне Microsoft существует отдельный список DHTML Events .Также доступно описание объекта события .

Стандартным образом я объединяю поддержку уровня 0 DOM, которая не имеет официальной спецификации, и события уровня 2 DOM, которые были записаныW3C.За этим стандартным способом обычно следуют все основные браузеры, кроме MSIE, а именно: Firefox, Chrome, Safari и Opera.Каждый из стандартизированных браузеров имеет различный уровень документации по поддержке событий, как указано в следующих ссылках.

События уровня 0 DOM

Gecko DOMОбработчики событий

Справочник по Safari HTML: поддерживаемые атрибуты

HTML, XHTML и WML в Opera Presto 2.8

Нет информации для Chrome.

DOM Level 2 Events

W3C DOM Level 2 Спецификация

Gecko DOMСобытия (кажется неполным)

Другие события Gecko DOM

Объект события Gecko DOM

Цели поддержки стандартов WebKit (неявно охватывающие Chrome и Safari на высоком уровне)

Поддержка интерфейса пользователя DOM 2, мыши и мутаций в Opera Presto 2.8

Можно ли с уверенностью сказать, что документация через стандартизированные браузеры совместима?Мне известны таблицы совместимости Quirksmode в отношении этого типа информации.Тем не менее, я не нахожу это утешительным, когда возникает проблема, и надеюсь, что есть детали, на которые я могу рассчитывать.Я также хотел бы исключить библиотеки (такие как Jquery и тому подобное) на данный момент.

Ответы [ 3 ]

2 голосов
/ 12 апреля 2011

Нет.Существует много различий между ключевыми событиями в браузерах, и большие библиотеки, такие как jQuery, только нормализуют его минимум (правильно, на мой взгляд).Единственный способ справиться с несоответствиями - учиться у людей, которые научились трудному пути.Лучший ресурс по мильам, который я нашел, это страница Яна Вольтера: http://unixpapa.com/js/key.html. Точная и достаточно полная.

1 голос
/ 12 апреля 2011

Браузеры имеют разные причуды, такие как обнаружение нажатий клавиш и т. Д. Не все эти ошибки очевидны или присутствуют во всех версиях браузера. Я сомневаюсь, что есть единственный авторитетный источник, который отлично описывает события даже для любого браузера, а тем более всех. ppk довольно невероятно всеобъемлющий, но в последнее время он переключил свое внимание на мобильные устройства.

В любом случае, вы, вероятно, можете написать что-то, что в основном будет работать, но у этих библиотек на порядок больше тестов, чем вы могли бы сделать самостоятельно. Если ваша цель - учиться, то обязательно изучайте и экспериментируйте. Но не изобретай велосипед. Всякий раз, когда я хочу отдельное решение для конкретного приложения DOM (например, какая кнопка мыши была нажата при событии щелчка), я сначала смотрю документацию, а затем смотрю, как это делают различные библиотеки.

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

Большинство людей используют http://www.quirksmode.org/ в качестве основной ссылки

...