2012-02-18 4 views
-1

Хотя после ответа здесь: Click() works in IE but not FirefoxJavascript: нажмите() не перейдя по ссылке в Firefox 2

Я больше не получаю «щелчок не является функцией сообщение» сообщение об ошибке и действительно получить «нажал» предупреждение сообщение, однако браузер не переходит к странице. Я попробовал его на последнюю версию 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");}; 
+3

Я не использую FF2 браузер, но библиотека я использую, включает XULRunner от FF2. – KJW

+0

Проверьте эти URL-адреса, надеюсь, они вам помогут :) http://forums.asp.net/t/1321236.aspx/1 и http://www.devtoolshed.com/content/fix-firefox-click-event- issue – Mhmd

+0

предоставить html вашей привязки, а также проверить консоль firebug. Есть ли какая-либо ошибка при щелчке – sandeep

ответ

1

document.getElementById("anId").onclick(); использования он будет работать на всех браузерах. click(); работает только с IE.

+1

это ничего не делает. – KJW

+0

это означает, что есть еще одна ошибка. Либо ни один элемент не существует с этим «id», или этот элемент не имеет атрибута onclick. – Taha

+0

вручную вставлять атрибут onclick в элемент с пустым значением? – KJW

1

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

HTML

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

JS

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

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

$(document).ready(function(){ 
     $("#link")[0].click(); 
    }); 
1

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

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

Надеется, что это помогает .. :)

0

Этот вопросу уже были дан ответ here.

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

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

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

+0

уже предложили одно и то же решение –

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