Есть обработчик который запускает ф-цию при загрузке страницы

Выделить код

Код:

window.addEventListener("DOMContentLoaded",Gbs,false);

в свою очередь ф-ция должна обработать событие нажатия "мыши" на кнопке с id="button"

Выделить код

Код:

function Gbs(){
   var pm=content.document.getElementById("button");
  //вариант 1 
   pm.addEventListener("MouseDown",alert("ok"), false);
  //вариант 2
   pm.onMouseDown=alert('ok');
}

Оба варианта срабатывают только при загрузке страницы. Подскажите,пожалуйста что нужно изменить чтобы событие наступало во время нажатия "мыши" на кнопку.

P.S. Скрипт работает из расширения.

FBB пишет

pm.addEventListener("MouseDown",alert("ok"), false);

Выделить код

Код:

pm.addEventListener("MouseDown", function(event) alert("ok"), false);

- addEventListener вторым аргументом принимает ссылку на метод (делегат). В случае передачи alert("ok") в addEventListener передается результат отработки alert("ok") - void, и на выходе получаем undefined. В случае передачи function(event) alert("ok") (или, если без лямбда-синтаксиса, function(event) { alert("ok"); }) передается ссылка на анонимный метод, который вызвается при срабатывании листенера.

Выделить код

Код:

pm.addEventListener("MouseDown", function(event) alert("ok"), false);

К сожалению не работает даже во время загрузки окна. Да и как мне подключить какую-нибудь внешнюю ф-ию? Например

Выделить код

Код:

function alrt()
{
 alert("ok");
}

Вот так не работает

Выделить код

Код:

pm.addEventListener("MouseDown", alrt, false);

Или нужно -

Выделить код

Код:

pm.addEventListener("MouseDown", alrt(event), false);
function alrt(e)
{
 alert("ok");
}
FBB пишет

не работает даже во время загрузки окна

оно не должно работать во время загрузки окна, оно должно работать по MouseDown

FBB пишет

Или нужно

Нет, не нужно. Еще раз прочитайте мой предыдущий постинг - в addEventListener нужно передавать не результат отработки метода, а сам метод.

И да, имена ивентов - case-sensitive.
https://developer.mozilla.org/en-US/doc … nce/Events
https://developer.mozilla.org/en-US/doc … /mousedown

hydrolizer пишет

И да, имена ивентов - case-sensitive.

Да , спасибо, здесь собака порылась.