С или без «вкл» это одно и то же событие.
Исторически при встроенной обработке событий с помощью атрибутов элементов использовались имена событий «on»:
<div id="div1" ondblclick="someFunction();">
При назначении обработчика событий в блоке сценария также используются имена «on»:
document.getElementById("div1").ondblclick = someFunction;
Метод Microsoft attachEvent()
(IE8 и ниже) использовал имена событий «on»:
document.getElementById("div1").attachEvent("ondblclick", someFunction);
Но тогда основанные на стандартах .addEventListener
(IE9 и другие браузеры) использовали не включенные имена событий:
document.getElementById("div1").addEventListener("dblclick",onDoubleClick,false);
Код, который вы процитировали, сначала проверяет, определен ли addEventListener
, каким он будет для современных браузеров, включая IE9, а если нет, то пытается attachEvent
, который будет определен в более старых версиях IE. (Иронично, что возникает проблема использования современных методов для события dblclick
, но для старого .onload
используется старый стиль.)