Javascript: нажмите (), не переходя по ссылке в Firefox 2 - PullRequest
0 голосов
/ 18 февраля 2012

Следуя ответу здесь: Click () работает в IE, но не в Firefox

Я больше не получаю сообщение об ошибке «click is not function message» и действительно получаю «Кликнуло "предупреждение", однако браузер не переходит на страницу.Я попробовал это на последней версии Firefox, и он перемещается, просто не происходит в Firefox 2.

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);};

document.onclick= function(event) { if (event===undefined) event= window.event; var target= 
'target' in event? event.target : event.srcElement; alert("clicked");};

document.getElementById("anId").click();

document.onclick= function(event) { if (event===undefined) event= window.event; var target= 
'target' in event? event.target : event.srcElement; alert("clicked");};

Ответы [ 5 ]

1 голос
/ 07 марта 2012

Я думаю, что поскольку FF2 слишком стар и не уверен, поддерживает ли он прототип click, лучше было бы сделать что-то подобное

HTML

<a id="link" href="url">click here</a>

JS

$(document).ready(function(){
    $("#link").click(function(){
        window.location.href = $(this).attr('href');
    });
});

также, если это что-то, что вы не хотите делать, попробуйте что-то вроде этого:

$(document).ready(function(){
        $("#link")[0].click();
    });
1 голос
/ 07 марта 2012

Вы можете попробовать jQuery плагин и использовать его .click() событие.

Вы можете увидеть более подробную информацию здесь .

Надеюсь, это поможет ..:)

1 голос
/ 01 марта 2012

Используйте document.getElementById("anId").onclick();, это будет работать во всех браузерах.click(); работает только в IE.

0 голосов
/ 08 марта 2012

Попробуйте использовать JQuery ... http://api.jquery.com/click/ возможно, вы пытаетесь прослушать HTML-элемент, который не ожидает принятия события onClick. click() работает только в IE. и если вы захотите попробовать прослушиватель событий Jquery click, , вы можете решить все проблемы во всех основных браузерах

0 голосов
/ 08 марта 2012

На этот вопрос уже дан ответ здесь .

Вот что вам нужно, чтобы добавить функциональность ...

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);
}
...