2012-06-01 5 views
5

У меня есть элемент списка с событием onclick. Он работает в Chrome и Internet Explorer, но не в Firefox. Какие-либо предложения?Почему мое событие onclick не зарегистрировано в Firefox?

<li onclick="alert('test');">test test<br></li> 
+1

Проверьте, отключен ли JavaScript в Firefox? – Chandana

+0

Другие события javascript работают отлично, только onclick не – hdayi

+0

вы не должны жестко кодировать свои события onclick в свой html. отделите свои проблемы и подключите свои события в файле сценария. – Jason

ответ

3

Это прекрасно работает для меня в Firefox.

Проверьте это:

  1. JavaScript включен в вашем браузере.

  2. Попробуйте добавить инструкцию return false; в свой тэг.

Или функция, как это:

function test() { 
    //your code here 
    return false; 
} 
  1. Или используйте:

<a href="#" onclick="alert('hi');">Link</a>

или это

<a href="javascript:void(0)" onclick="alert('hi');">Link</a>

+0

Большое вам спасибо. последнее предложение сработало. Но я не мог понять, почему только событие onclick не работает. Mousemove, вне и т. Д. Все работает. в любом случае проблема решена :) – hdayi

+1

Я думаю, что Firefox нуждается в возврате. Вы также можете использовать кнопку, если хотите. –

+0

не имеет отношения к вопросу. – user1133275

0

Я пытался свести к минимуму мой html-код, чтобы отправить полный код для имитации ошибки, как просил Борис Збарский. Тогда я нашел свою ошибку.

Я использовал ярлык marquee, который устарел. Теперь я буду использовать jQuery вместо него.

ТНХ

+0

используйте https://validator.w3.org/, чтобы предотвратить странное поведение FF. – user1133275

0

В Firefox, the event object не является глобальным. Вы должны получить к нему доступ в своих тегах скрипта, а не в html.

onclick работы любит это

<li id="alert">test<br></li> 

<script> 
    document.getElementById("alert").addEventListener("click", function(event) { 
    alert('test'); 
    }, false); 
</script> 
+1

Это неправда, и это больше не относится к вопросу. – user1133275

+0

@ user1133275, как бы вы могли написать прослушиватель событий? Вы могли бы написать его в html, как первоначально предлагалось? – daniella

+0

Пример в вопросе действителен.Какой из действительных методов, которые вы выбираете для использования в разных контекстах, является личным предпочтением и, следовательно, не является хорошим вопросом о stackoverflow ... это хорошая практика для разделения языков, поэтому ограничение всего JavaScript на один .js-файл будет моей рекомендацией, даже если я не строго придерживайтесь его лично. – user1133275

0

Атрибуты могут быть проигнорированы Firefox, когда она подается недопустимый HTML, используйте https://validator.w3.org/ для очистки HTML.

Смежные вопросы