Jak mogę symulować kliknięcie w tag zakotwiczenia?
Chcę symulować kliknięcie w tag zakotwiczenia ze wszystkimi dodatkami, takimi jak poprawna obsługa celu.
Wydaje się, że istnieje metoda „[click ()] [3]” dla obiektu DOM kotwicy, ale nie wszystkie przeglądarki to obsługują. Firefox zgłasza ten błąd:
Błąd: anchorObj.click nie jest funkcją
Działa również dziwnie w Operze 10 i Konquerorze, powodują c nieskoń czone kliknię cia, gdy jest wywoływane wewną trz obsługi onclick otaczają cego div. Myślę, że tylko IE8 działa z tym dobrze. W każdym razie nie chcę tego, ponieważ główne przeglądarki najczęściej mają z tym problemy.
Znalazłem to alternatywne rozwiązanie dla Firefoksa na forach Mozilli:
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
anchorObj.dispatchEvent(evt);
Wydaje mi się to zbyt brzydkie i uciążliwe. Nie wiem, jak jest kompatybilny i chcę unikać pisania kodu specyficznego dla przeglądarki.
Nie mogę użyć location.href = anchorObj.href; ponieważ nie obsługuje atrybutu „target”. Mogę wykonać pewne kodowanie w oparciu o wartość celu, ale chciałbym również tego uniknąć.
Sugeruje się przejście na JQuery, ale nie jestem pewien, jak dobrze radzi sobie z właściwością docelową, ponieważ wcześniej z nią nie pracowałem.