복붙노트

[JQUERY] 어떻게 JQuery와 통해 앵커 클릭을 시뮬레이션 할 수 있습니까?

JQUERY

어떻게 JQuery와 통해 앵커 클릭을 시뮬레이션 할 수 있습니까?

해결법


  1. 1.그런 당신의 jQuery를 호출을 인라인 않도록하십시오. 클릭 이벤트에 바인딩 페이지 상단에 스크립트 태그를 넣어 :

    그런 당신의 jQuery를 호출을 인라인 않도록하십시오. 클릭 이벤트에 바인딩 페이지 상단에 스크립트 태그를 넣어 :

    <script type="text/javascript">
    $(function(){
        $('#thickboxButton').click(function(){
            $('#thickboxId').click();
        });
    });
    </script>
    
    <input id="thickboxButton" type="button" value="Click me">
    <a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a>
    

    편집하다:

    물리적 링크를 클릭하여 사용자를 시뮬레이션하려는 경우, 나는이 가능 믿지 않는다. 해결 방법은 자바 스크립트의에서는 window.location을 변경하는 버튼의 클릭 이벤트를 업데이트하는 것입니다 :

    <script type="text/javascript">
    $(function(){
        $('#thickboxButton').click(function(){
            window.location = $('#thickboxId').attr('href');
        });
    });
    </script>
    

    편집 2 :

    지금은 Thickbox와 jQuery를 UI 위젯, 내가 여기에 지침을 볼 수있는 사용자 정의임을 깨닫는다 :


  2. 2.무엇 나를 위해 일한 것은이었다 :

    무엇 나를 위해 일한 것은이었다 :

    $('a.mylink')[0].click()
    

  3. 3.나는 최근에 jQuery를 통해 마우스 클릭 이벤트를 트리거하는 방법을 발견했습니다.

    나는 최근에 jQuery를 통해 마우스 클릭 이벤트를 트리거하는 방법을 발견했습니다.

        <script type="text/javascript">
        var a = $('.path > .to > .element > a')[0];
        var e = document.createEvent('MouseEvents');
        e.initEvent( 'click', true, true );
        a.dispatchEvent(e);
        </script>
    

  4. 4.이 방법은 파이어 폭스, 크롬과 IE에서 작동합니다. 누군가 도움이되기를 바랍니다 :

    이 방법은 파이어 폭스, 크롬과 IE에서 작동합니다. 누군가 도움이되기를 바랍니다 :

    var comp = document.getElementById('yourCompId');
    try { //in firefox
        comp.click();
        return;
    } catch(ex) {}
    try { // in chrome
        if(document.createEvent) {
            var e = document.createEvent('MouseEvents');
            e.initEvent( 'click', true, true );
            comp.dispatchEvent(e);
            return;
        }
    } catch(ex) {}
    try { // in IE
        if(document.createEventObject) {
             var evObj = document.createEventObject();
             comp.fireEvent("onclick", evObj);
             return;
        }
    } catch(ex) {}
    

  5. 5.이것은 아주 오래된 질문이지만 나는이 작업을 쉽게 처리 할 수 ​​뭔가를 발견했다. 그것은 JQuery와 플러그인 JQuery와 UI 팀이라고 시뮬레이션에 의해 개발되고있다. 당신이 JQuery와 후를 포함 할 수 있습니다 다음과 같은 일을 할 수 있습니다

    이것은 아주 오래된 질문이지만 나는이 작업을 쉽게 처리 할 수 ​​뭔가를 발견했다. 그것은 JQuery와 플러그인 JQuery와 UI 팀이라고 시뮬레이션에 의해 개발되고있다. 당신이 JQuery와 후를 포함 할 수 있습니다 다음과 같은 일을 할 수 있습니다

    <a href="http://stackoverflow.com/"></a>
    $('a').simulate('click');
    

    크롬, 파이어 폭스, 오페라에서 잘 작동하고 IE10.you는 https://github.com/eduardolundgren/jquery-simulate/blob/master/jquery.simulate.js에서 다운로드 할 수 있습니다


  6. 6."나는 jQuery를에 앵커 클릭을 시뮬레이션 할 수 있습니까?"질문의 제목은 말한다. 글쎄, 당신은 "트리거"또는 "triggerHandler"방법과 같이 사용할 수 있습니다 :

    "나는 jQuery를에 앵커 클릭을 시뮬레이션 할 수 있습니까?"질문의 제목은 말한다. 글쎄, 당신은 "트리거"또는 "triggerHandler"방법과 같이 사용할 수 있습니다 :

    <script type="text/javascript" src="path/to/jquery.js"></script>
    <script type="text/javascript" src="path/to/thickbox.js"></script>
    <script type="text/javascript">
    $(function() {
        $('#btn').click(function() {
            $('#thickboxId').triggerHandler('click');
        })
    })
    </script>
    ...
    <input id="btn" type="button" value="Click me">
    <a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a>
    

    이 실제 스크립트를 테스트,하지만 난 전에 트리거 등의 알을 사용했습니다, 그들은 남았다 작동하지 않습니다.

    최신 정보 triggerHandler 실제로 영업 이익은 원하는 것을하지 않습니다. 나는 1421968이 질문에 대한 가장 좋은 대답을 제공합니다 생각합니다.


  7. 7.나는 그들이 브라우저 호환 방식으로 요소에 클릭을 유발하는 방법을 확인하기 위해 셀레늄 API 보는 게 좋을 것 :

    나는 그들이 브라우저 호환 방식으로 요소에 클릭을 유발하는 방법을 확인하기 위해 셀레늄 API 보는 게 좋을 것 :

    BrowserBot.prototype.triggerMouseEvent 기능을 찾아보십시오.


  8. 8.나는 당신이 사용할 수 있다고 생각합니다 :

    나는 당신이 사용할 수 있다고 생각합니다 :

    $('#yourLink').bind('click', function() {
      //Do something over here
    });
    
    $('#yourLink').trigger('click');
    

    이것은 쉽게 실제로 클릭하지 않고, 클릭 기능을 트리거합니다.


  9. 9.당신은 가짜 앵커 클릭가 필요하십니까? Thickbox와 사이트에서 :

    당신은 가짜 앵커 클릭가 필요하십니까? Thickbox와 사이트에서 :

    즉 받아 들일 경우 쉽게 입력 자체에 Thickbox와 클래스를 퍼팅과 같아야합니다 :

    <input id="thickboxButton" type="button" class="thickbox" value="Click me">
    

    그렇지 않으면, 나는 방화범을 사용하고 그것이 첫 번째 클릭에 트리거 것 있는지 확인하기 위해 앵커 요소의 OnClick 방법에 중단 점을 배치 추천 할 것입니다.

    편집하다:

    좋아, 나 자신과 거의 정확히 코드가 크롬과 파이어 폭스에서 근무 나를 위해 그것을 시도했다 :

    <html>
    <head>
    <link rel="stylesheet" href="thickbox.css" type="text/css" media="screen" />
    </head>
    <body>
    <script src="jquery-latest.pack.js" type="text/javascript"></script>
    <script src="thickbox.js" type="text/javascript"></script>
    <input onclick="$('#thickboxId').click();" type="button" value="Click me">
    <a id="thickboxId" href="myScript.php" class="thickbox" title="">Link</a>
    </body>
    </html>
    

    창 팝업 업에 상관없이 내가 입력 또는 앵커 요소를 클릭하지 않는 경우. 위의 코드는 당신을 위해 일하는 경우에, 나는 다른 곳에 오류 거짓말을 제안하고 문제를 분리하려고 할 것이다.

    또 다른 가능성이 우리가 JQuery와 / Thickbox와의 다른 버전을 사용하고 있다는 점이다. 나는 Thickbox와 페이지에서 내가 가진 것을 사용하고 있습니다 - JQuery와 1.3.2 및 Thickbox와 3.1.


  10. 10.당신은 모방하여 링크 href가 그 작업에 jQuery를 통해 또는 HTML 페이지 코드에서 양식을 만들 수 있습니다 :

    당신은 모방하여 링크 href가 그 작업에 jQuery를 통해 또는 HTML 페이지 코드에서 양식을 만들 수 있습니다 :

    여기 를 클릭합니다.

    var link = $('#anchor_link').attr('href');
    $('body').append('<form id="new_form" action="'+link+'"></form>');
    $('#new_form').submit();
    

  11. 11.한 페이지에 착륙, 난 그냥 $ (문서) .ready의 scrollTop 속성을 애니메이션 jQuery를 사용하는 동안 앵커에 클릭을 시뮬레이션합니다. 복잡한 트리거에 대한 필요가없고, IE 6와 다른 모든 브라우저가 작동합니다.

    한 페이지에 착륙, 난 그냥 $ (문서) .ready의 scrollTop 속성을 애니메이션 jQuery를 사용하는 동안 앵커에 클릭을 시뮬레이션합니다. 복잡한 트리거에 대한 필요가없고, IE 6와 다른 모든 브라우저가 작동합니다.


  12. 12.당신은 내가하지 않는 한, JQuery와를 사용할 필요가없는 경우. 내가 .click의 크로스 브라우저 FUNC 문제를 했어 (). 내가 사용 그래서 :

    당신은 내가하지 않는 한, JQuery와를 사용할 필요가없는 경우. 내가 .click의 크로스 브라우저 FUNC 문제를 했어 (). 내가 사용 그래서 :

    eval(document.getElementById('someid').href)
    

  13. 13.자바 스크립트에서는 다음과 같이 할 수있다

    자바 스크립트에서는 다음과 같이 할 수있다

    function submitRequest(buttonId) {
        if (document.getElementById(buttonId) == null
                || document.getElementById(buttonId) == undefined) {
            return;
        }
        if (document.getElementById(buttonId).dispatchEvent) {
            var e = document.createEvent("MouseEvents");
            e.initEvent("click", true, true);
            document.getElementById(buttonId).dispatchEvent(e);
        } else {
            document.getElementById(buttonId).click();
        }
    }
    

    그리고 당신처럼 사용할 수 있습니다

    submitRequest("target-element-id");
    

  14. 14.당신이 원하는대로, 내가이 만든 법률 상의 스크립트를 사용하면 쉽게 많은 요소로 "클릭"합니다. 난 그냥 1600+ 항목에 그것을 구글 리더를 사용하고는 (Firefox에서) 완벽하게 작동!

    당신이 원하는대로, 내가이 만든 법률 상의 스크립트를 사용하면 쉽게 많은 요소로 "클릭"합니다. 난 그냥 1600+ 항목에 그것을 구글 리더를 사용하고는 (Firefox에서) 완벽하게 작동!

    var e = document.createEvent('MouseEvents');
    e.initEvent( 'click', true, true );
    $(selector).each(function(){this.dispatchEvent(e);});
    

  15. 15.JQuery와 ( '# 왼쪽') triggerHandler가 ( '클릭').; 파이어 폭스와 IE7에서 잘 작동합니다. 나는 다른 브라우저에서 그것을 테스트하지 않았습니다.

    JQuery와 ( '# 왼쪽') triggerHandler가 ( '클릭').; 파이어 폭스와 IE7에서 잘 작동합니다. 나는 다른 브라우저에서 그것을 테스트하지 않았습니다.

    희망이 트리거 할 경우 자동으로 사용자가 클릭은 다음을 수행 :

    window.setInterval(function() 
        {
            $('#left').triggerHandler('click');
        }, 1000);
    

  16. 16.안드로이드 기본 브라우저에서 작동하지 않습니다이 "숨겨진 입력 (파일)의 요소를"클릭합니다 :

    안드로이드 기본 브라우저에서 작동하지 않습니다이 "숨겨진 입력 (파일)의 요소를"클릭합니다 :

    $('a#swaswararedirectlink')[0].click();
    

    하지만이 작동합니다 :

    $("#input-file").show();
    $("#input-file")[0].click();
    $("#input-file").hide();
    

  17. 17.JQuery와 UI 스피너와 단위 테스트에서 '클릭'을 시뮬레이션하기 위해 노력하고 나는 일에 대한 이전의 답변 중 하나를 가져올 수 없습니다. 특히, 나는 아래쪽 화살표를 선택하는 '스핀'을 시뮬레이션하기 위해 노력했다. 내가 jQuery를 UI 회 단위 테스트를 쳐다 보면서 그들은 나를 위해 일한 다음과 같은 방법을 사용합니다 :

    JQuery와 UI 스피너와 단위 테스트에서 '클릭'을 시뮬레이션하기 위해 노력하고 나는 일에 대한 이전의 답변 중 하나를 가져올 수 없습니다. 특히, 나는 아래쪽 화살표를 선택하는 '스핀'을 시뮬레이션하기 위해 노력했다. 내가 jQuery를 UI 회 단위 테스트를 쳐다 보면서 그들은 나를 위해 일한 다음과 같은 방법을 사용합니다 :

    element.spinner( "widget" ).find( ".ui-spinner-up" ).mousedown().mouseup();
    
  18. from https://stackoverflow.com/questions/773639/how-can-i-simulate-an-anchor-click-via-jquery by cc-by-sa and MIT license