Вот более устойчивая стандартная программа для отмены поведения по умолчанию и распространения событий во всех браузерах:
// Prevents event bubble up or any usage after this is called.
eventCancel = function (e)
{
if (!e)
if (window.event) e = window.event;
else return;
if (e.cancelBubble != null) e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
if (e.preventDefault) e.preventDefault();
if (window.event) e.returnValue = false;
if (e.cancel != null) e.cancel = true;
}
пример того, как это использовалось бы в обработчике событий:
// Handles the click event for each tab
Tabstrip.tabstripLinkElement_click = function (evt, context)
{
// Find the tabStrip element (we know it's the parent element of this link)
var tabstripElement = this.parentNode;
Tabstrip.showTabByLink(tabstripElement, this);
return eventCancel(evt);
}
Наиболее важным использованием DOCTYPE является переключение браузера между режимом совместимости и стандартным режимом рендеринга .
Эта функциональность возникла из-за "сломанного" рендеринга в старые версии IE. Стало понятно, что если Microsoft просто «исправит» механизм рендеринга IE, многие существующие сайты не будут отображаться должным образом. Это работает так: если вы поместите любое действительное объявление DOCTYPE на свою страницу, предполагается, что вы знаете, что делаете, и ваш браузер будет отображать в соответствии со стандартами, и если вы не не вставлять в него, будет отображаться старым «неправильным» способом.
Изначально это было сделано в IE для Mac, но такое поведение одинаково во всех версиях IE, начиная с IE5, и в Firefox, Chrome, Safari и Опера.
DOCTYPE предполагается как Определение типа документа . HTML является подмножеством SGML (как и XML). DTD сообщает парсеру, какой синтаксис вы используете. Итак, на веб-странице ваш DOCTYPE должен соответствовать версии HTML, которую вы используете.
Он сообщает валидатору, какую версию HTML вы используете. Браузер использует эту информацию для правильного отображения страницы.
Вот правильная версия DOCTYPE:
HTML 4.01 Strict, Transitional, Frameset
XHTML 1.0 Strict, Transitional, Frameset
XHTML 1.1
HTML5
Основная (практическая) цель DOCTYPE - заставить IE перейти из "режима причуд" в "режим соответствия стандартам", оба эвфемизма для "ужасно нарушены" режим "и" слегка нарушенный режим "(соответственно).
Он сообщает вашему браузеру, какую версию HTML он загружает, что ускоряет загрузку, поскольку браузер знает, чего ожидать.
Тип документа - это стандарт, определенный w3c - когда вы слышите о веб-разработке на основе стандартов, вот о чем они говорят. Идея использования doctype заключается в том, что вы создаете действительный HTML-код, который соответствует doctype.
Если вы умен, вы действительно можете написать свой собственный доктайп.