2010-07-28 5 views
0

Скажем, у меня есть 2 ссылки a1 и a2, а a2 скрыт. Когда пользователь нажимает на a1, я хочу имитировать щелчок a2. Как это можно сделать с помощью jQuery?Как имитировать щелчок гиперссылки?

+0

См. Это http://stackoverflow.com/questions/1839363/simulating-a-click-in-jquery-javascript-on-a-link – codingbadger

+2

Дубликат http://stackoverflow.com/questions/1421584/how -can-i-simulate-a-click-to-an-anchor-tag/ –

ответ

10

Это зависит от того, что вы имеете в виду «имитировать щелчки a2».

Предполагая, что a1 и a2 являются ID атрибуты, если вы имеете в виду, что вы хотите, чтобы вызвать обработчик JQuery на этот элемент, вы можете сделать это:

$("#a1").click(function(){ 
    $("#a2").trigger('click'); 
}); 

Если вы хотите, чтобы вызвать его без барботирования события или вызвав поведение по умолчанию, выполните следующие действия:

$("#a1").click(function(){ 
    $("#a2").triggerHandler('click'); 
}); 

Но если вы хотите, чтобы на самом деле посетить соответствующий href место, вы должны были бы это:

$("#a1").click(function() { 
    window.location = $("#a2").attr('href'); 
}); 

или

$("#a1").click(function() { 
    window.location = document.getElementById('a2').href; 
}); 
+0

Очень хорошо объяснено, спасибо! – adardesign

0

Другие ответы охватывают ваши варианты, насколько решения идти, но и улучшить свое понимание того, как JQuery работает частности, в отношении привязка событий для кликов, я рекомендую посмотреть jQuery API documentation for click().

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