Подтвердить что ты не робот

JQuery: как вызвать событие кликов привязки привязки

У меня есть якорная ссылка, например

<a id="myanchor" href="#" onclick="location.href='http://google.com'; return false;" target="_blank">Google</a>

Как открыть целевую страницу href на новой вкладке программно?

4b9b3361

Ответ 1

Попробуйте следующее:

$("#myanchor")[0].click()

Проще всего.

Ответ 2

Существует разница в вызове события click (не выполняется перенаправление) и перехода в местоположение href.

Navigate:

 window.location = $('#myanchor').attr('href');

Открыть в новой вкладке или окне:

 window.open($('#myanchor').attr('href'));

вызвать событие click (вызвать javascript):

 $('#myanchor').click();

Ответ 3

Несмотря на то, что этот пост является caput, я думаю, что это отличная демонстрация некоторых стен, с которыми можно столкнуться с jQuery, т.е. мышление click() фактически нажимает на элемент, вместо того, чтобы просто отправлять событие click, пузырящееся через DOM, Скажем, вам действительно нужно смоделировать событие щелчка (т.е. Для целей тестирования и т.д.). Если это произойдет, при условии, что вы используете современный браузер, вы можете просто использовать HTMLElement.prototype.click (см. здесь для деталей метода, а также ссылка на спецификацию W3). Это должно работать почти во всех браузерах, особенно если вы имеете дело со ссылками, и вы можете легко вернуться к window.open, если вам нужно:

var clickLink = function(linkEl) {
  if (HTMLElement.prototype.click) {
    // You'll want to create a new element so you don't alter the page element's
    // attributes, unless of course the target attr is already _blank
    // or you don't need to alter anything
    var linkElCopy = $.extend(true, Object.create(linkEl), linkEl);
    $(linkElCopy).attr('target', '_blank');
    linkElCopy.click();
  } else {
    // As Daniel Doezema had said
    window.open($(linkEl).attr('href'));
  }
};

Ответ 4

 window.open($('#myanchor').attr('href'));

               $('#myanchor')[0].click();

Ответ 5

Это сработало для меня:

     window.location = $('#myanchor').attr('href');

Ответ 6

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

Ответ 7

$(":button").click(function () {                
                $("#anchor_google")[0].click();
            });
  • Сначала найдите кнопку по типу (используя ":" ), если id не указан.
  • Во-вторых, найдите тег привязки по id или в каком-либо другом теге, таком как div и $( "# anchor_google" ) [0] возвращает объект DOM.