Отменить событие javascript onclick в FF - PullRequest
0 голосов
/ 29 сентября 2011

У меня есть ссылка с событием onclick.Я хочу отменить событие onclick в FF динамически, иногда пользователь может нажать, иногда не может щелкнуть.Я хочу отменить событие onclick в функции JS, запущенной из другого элемента управления (выпадающий список, текстовое поле).Итак, я хочу написать функцию, когда иногда отменяю это событие, а иногда не отменяю это событие из-за функции, запущенной из другого элемента на странице.

Пример:

function someFCE(linkButtonID)
{ 
  var linkButton = document.getElementById(linkButtonID);

  if (//firefox//)
 {
     if (//something//)
         //cancel event//
     }
 }

Где находится //отменить событие //, пожалуйста, помогите мне написать код для отмены этого события onclick на FF.
И извините, мой английский.


Если я правильно понял, я могу отменить мероприятие после нажатия на кнопку.Проблема в том, что кнопка имеет другую проверку JS, и это опасная логика перезаписи этой кнопки.
Если я добавлю другое событие click с помощью jquery, которое отменяет это событие click, это событие отмены вызывает после этой проверки.Итак, есть ли какая-то возможность добавить событие отмены, которое вызывается первым перед всеми проверками, или просто отменить событие onclick?Только в ФФ Спасибо.

Ответы [ 2 ]

6 голосов
/ 29 сентября 2011

Вы должны добавить прослушиватель событий к элементу:

linkButton.onclick = function(ev){
    ev.preventDefault();
    ev.stopPropagation();
}

Объект event передается в качестве первого аргумента слушателю события. Методы объекта event могут быть вызваны из прослушивателя событий. preventDefault() предотвращает возникновение события по умолчанию. stopPropagation() отменяет всплывающее окно события, так что другие слушатели событий больше не получают событие.

0 голосов
/ 29 сентября 2011

Если вы хотите, чтобы событие click не срабатывало, вы можете установить для события onclick LinkButton значение null:

linkButton.onclick = null;

Это приведет к удалению ранее существовавшей функции, поэтому, когда кнопканажал, нет обработчика события для вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...