День добрый.
Прочёл часть учебника по JS на этом сайте (
http://learn.javascript.ru), где автор, затрагивая вопросы достижения кроссбраузерности использовал проверку наличия того или иного метода через if-else
Пример:
element.onclick = function(event) {
event = event || window.event; // Кроссбраузерно получить событие
if (event.stopPropagation) { // существует ли метод?
// Стандартно:
event.stopPropagation();
} else {
// Вариант IE
event.cancelBubble = true;
}
}
А вот только что смотрел курс "Специалиста", где преподаватель, заведя речь о кроссбраузерности, начинает говорить о try-catch-finally
Т.е. в противовес коду, написанному выше, рекомендует делать так:
element.onclick = function(event) {
event = event || window.event; // Кроссбраузерно получить событие
try {
event.stopPropagation();
} catch {
event.cancelBubble = true;
}
Т.к. я ещё новичёк в JS - меня эта ситуация поставила в тупик. Как же всё-таки правильней решать вопросы кроссбраузерности?