Development Tip

jQuery를 사용하여 프로그래밍 방식으로

yourdevel 2021. 1. 9. 11:03
반응형

jQuery를 사용하여 프로그래밍 방식으로 링크 클릭


이 질문이 이전에 요청 된 적이 있다는 것을 알고 있지만 웹에서 검색 한 후에는 직접적인 대답을 찾을 수없는 것 같습니다.

HTML

<a id=myAnchor href=index.php>

jQuery (둘 다 작동하지 않음)

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

또는

$('#myAnchor').trigger('click');

이를 달성하는 가장 간단하고 효율적인 방법은 무엇입니까?


이 시도:

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

그것은 나를 위해 작동합니다.


window.location = document.getElementById('myAnchor').href

클릭은 클릭 이벤트 / 이벤트를 실제로 "goto-the-links-href"액션이 아닌 트리거합니다.

자신 만의 핸들러를 작성하고 $ ( '# myAnchor'). trigger ( 'click'); 작동합니다 ...

$("#myAnchor").click(function(event)
{
  var link = $(this);
  var target = link.attr("target");

  if($.trim(target).length > 0)
  {
    window.open(link.attr("href"), target);
  }
  else
  {
     window.location = link.attr("href");
  }

  event.preventDefault();
});

<a href="#" id="myAnchor">Click me</a>

<script type="text/javascript">
$(document).ready(function(){
    $('#myAnchor').click(function(){
       window.location.href = 'index.php';
    });
})
</script>

요소에 추가 onclick="window.location = this.href"하십시오 <a>. 이 수정 후 .click()예상되는 동작 으로 수정 될 수 있습니다 . 페이지의 모든 링크에 대해 이렇게하려면 다음을 추가 할 수 있습니다.

<script type="text/javascript">
    $(function () {
        $("a").attr("onclick", "window.location = this.href");
    });
</script>

I tried few of the above solutions but they didn't worked for me. Here is a link to the page which worked for me automatically click a link

Above link has many solutions and here's the one which worked for me,

    <button onclick="fun();">Magic button</button>

    <!--The link you want to automatically click-->
    <a href='http://www.ercafe.com' id="myAnchor">My website</a>

Now within the <script> tags,

<script>

     function fun(){
          actuateLink(document.getElementById('myAnchor'));
     }

     function actuateLink(link)
     {
          var allowDefaultAction = true;

          if (link.click)
          {
              link.click();
              return;
          }
          else if (document.createEvent)
          {
              var e = document.createEvent('MouseEvents');
              e.initEvent(
                   'click'     // event type
                   ,true      // can bubble?
                   ,true      // cancelable?
              );
              allowDefaultAction = link.dispatchEvent(e);           
          }

          if (allowDefaultAction)       
          {
              var f = document.createElement('form');
              f.action = link.href;
              document.body.appendChild(f);
              f.submit();
          }
    }

</script>

Copy paste the above code and click on clicking the 'Magic button' button, you will be redirected to ErCafe.com.


If you are using jQuery, you can do it with jQuery.trigger http://api.jquery.com/trigger/

Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.js"></script>
</head>
<body>
    <a id="foo" onclick="action()"></a>
    <script type="text/javascript">
        function action(){
            window.location.replace("http://stackoverflow.com/q/9081426/5526354")
        }

        $("#foo").trigger("click");
    </script>
</body>
</html>

Try this for compatibility;

<script type="text/javascript">
        $(function() {
            setTimeout(function() {
                window.location.href = $('#myAnchor').attr("href");

            }, 1500);
        });
    </script>

ReferenceURL : https://stackoverflow.com/questions/9081426/using-jquery-to-programmatically-click-an-a-link

반응형