복붙노트

[JQUERY] 어떻게 자바 스크립트에서 X, Y 좌표를 사용하여 클릭을 시뮬레이션?

JQUERY

어떻게 자바 스크립트에서 X, Y 좌표를 사용하여 클릭을 시뮬레이션?

해결법


  1. 1.이것은 실제 클릭과 동일하지 않습니다하지만 당신은 클릭 이벤트를 전달할 수 있습니다. 예를 들어,이 클릭 한 생각으로 교차 도메인 iframe 문서 트릭을 사용할 수 없습니다.

    이것은 실제 클릭과 동일하지 않습니다하지만 당신은 클릭 이벤트를 전달할 수 있습니다. 예를 들어,이 클릭 한 생각으로 교차 도메인 iframe 문서 트릭을 사용할 수 없습니다.

    모든 최신 브라우저는 document.elementFromPoint 및 HTMLElement.prototype.click ()가, 적어도 IE 6, 파이어 폭스 5, 당신은 가능성이있어 사파리 크롬의 모든 버전과 아마 모든 버전에 대한 걱정을하기 때문에 지원합니다. 심지어 링크를 따라 양식을 제출한다 :

    document.elementFromPoint(x, y).click();
    

    https://developer.mozilla.org/En/DOM:document.elementFromPoint https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click


  2. 2.예, 당신은 이벤트를 생성하고 그것을 파견하여 마우스 클릭을 시뮬레이션 할 수 있습니다 :

    예, 당신은 이벤트를 생성하고 그것을 파견하여 마우스 클릭을 시뮬레이션 할 수 있습니다 :

    function click(x,y){
        var ev = document.createEvent("MouseEvent");
        var el = document.elementFromPoint(x,y);
        ev.initMouseEvent(
            "click",
            true /* bubble */, true /* cancelable */,
            window, null,
            x, y, 0, 0, /* coordinates */
            false, false, false, false, /* modifier keys */
            0 /*left*/, null
        );
        el.dispatchEvent(ev);
    }
    

    요소에 클릭 방법을 사용하여주의 -이 광범위하게 구현하지만 표준 및 예에 실패한다 PhantomJS. 나는 .click의 jQuery의 실현하는 것이 가정 () 올바른 일을하지만 확인하지 않았습니다.


  3. 3.이것은 MouseEvent 객체를 사용하도록 업데이트 단지 torazaburo의 대답이다.

    이것은 MouseEvent 객체를 사용하도록 업데이트 단지 torazaburo의 대답이다.

    function click(x, y)
    {
        var ev = new MouseEvent('click', {
            'view': window,
            'bubbles': true,
            'cancelable': true,
            'screenX': x,
            'screenY': y
        });
    
        var el = document.elementFromPoint(x, y);
    
        el.dispatchEvent(ev);
    }
    

  4. 4.나를 위해 작동하지 않습니다하지만 콘솔에 올바른 요소를 인쇄

    나를 위해 작동하지 않습니다하지만 콘솔에 올바른 요소를 인쇄

    이 코드입니다 :

    function click(x, y)
    {
        var ev = new MouseEvent('click', {
            'view': window,
            'bubbles': true,
            'cancelable': true,
            'screenX': x,
            'screenY': y
        });
    
        var el = document.elementFromPoint(x, y);
        console.log(el); //print element to console
        el.dispatchEvent(ev);
    }
    click(400, 400);
    

  5. 5.보안상의 이유로, 당신은 자바 스크립트로 마우스 포인터를 이동 할 수 없으며으로 클릭을 시뮬레이션 할 수 있습니다.

    보안상의 이유로, 당신은 자바 스크립트로 마우스 포인터를 이동 할 수 없으며으로 클릭을 시뮬레이션 할 수 있습니다.

    그것은 당신이 달성하려고하는 것이 무엇입니까?

  6. from https://stackoverflow.com/questions/3277369/how-to-simulate-a-click-by-using-x-y-coordinates-in-javascript by cc-by-sa and MIT license