Нажмите () работы в IE, но не Firefox

У меня есть код, который тривиален, но только работает в IE не Firefox.

$(document).ready(function(){
    $('li#first').click();
});

Я также попробовал:

document.getElementById('first').click();

Но это не работает также.

Это ошибка/функция IE или click() не поддерживаемый в других браузерах?

Ответ на комментарии:

  1. Существует единственный элемент с идентификатором сначала, не больше.
  2. Это - onclick на элементе списка, который разворачивает элемент и перемещает внимание на элемент Google Map.
  3. Выполнение кода в ответе patrick (добавляющий другое событие щелчка к элементу) произвело некоторое интересное поведение. При выполнении $('li#first').click() только новое запущенное событие, но физически нажатие на элемент с мышью стреляло и (новый и исходный).

Заранее спасибо.

9
задан tgandrews 12 May 2010 в 08:35
поделиться

2 ответа

Firefox не поддерживает функцию click().

Выполнение document.getElementById('first').click() возвращает следующую ошибку click не является функцией

Поэтому я добавил фрагмент кода для добавления функции click() к каждому элементу. Этот код был найден после мучительной серии поисков в Google, в результате чего появилась эта тема.

Сниппет приведен ниже и должен быть включен только один раз на странице:

HTMLElement.prototype.click = function() {
   var evt = this.ownerDocument.createEvent('MouseEvents');
   evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
   this.dispatchEvent(evt);
} 
11
ответ дан 4 December 2019 в 15:12
поделиться

Вы пытаетесь перейти по первой ссылке? Вы не можете вызвать действие ссылки по умолчанию через щелчок.

Но вот обходной путь:

var link = jQuery("#first>a", this)
if(!link.onclick) window.open(link.href, link.target || "_self")
else jQuery(link).click()

Источник: http://forum.jquery.com/topic/jquery-a-0-click-not-working

0
ответ дан 4 December 2019 в 15:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: