Я сделал этот плагин, чтобы сделать метод '[0] .click ()' кросс-браузерным, но я не могу работать в Firefox, текущая версия в Firefox - 3,6. 16. Другие браузеры (Opera / Chrome / Safari / IE) работают хорошо.
HTML:
<a href="#" id="myanchor">z</a>
<ul>
<li id="1">1</li>
<li id="2">2</li>
<li id="3">3</li>
</ul>
Javascript:
jQuery.fn.runClick = function () {
var element = jQuery(this).get(0);
if (jQuery.browser.msie) { // IE
element.click();
}
else {
//var evt = document.createEvent("HTMLEvents");
//evt.initEvent('click', true, true);
var evt = element.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
element.dispatchEvent(evt);
}
return this;
};
jQuery(function() {
jQuery('li').bind('click', function(event) {
var
key = jQuery(this).attr('id');
jQuery('#myanchor').attr('href', 'www.mydomaind.com/x/?id=' + key).runClick();
});
});
на основании этого вопроса
спасибо.
EDIT
Я расширил пример на основе комментариев и ответов
РЕДАКТИРОВАТЬ II
похожие вопросы:
как сделать программный щелчок по элементу в firefox
браузер дружественно путь к Simulate анкер-клик-с-JQuery