2016-07-08 4 views
0

jquery로 요소를 선택하고 클릭을 호출 할 수 있음을 알고 있습니다. 그러나, 내가하고 싶은 것은 단순히 현재 커서가있는 곳을 클릭하는 것입니다. 이 같은jquery 현재 커서 위치를 클릭하십시오.

예를 들어 뭔가 :이 도움이 될 생각

jQuery().click(); 
+0

마우스를 올리거나 마우스를 올리면 무슨 문제가 있습니까? –

+0

'$ (document) .click (function (e) {console.log (e.clientX + ""+ e.clientY);});'포인터 위치를 의미합니다. –

+0

아니요 그 말이 맞는 경우 클릭을 처리하지 않으려 고합니다. – Yelitza

답변

0

:

How to simulate a click by using x,y coordinates in JavaScript?

어쩌면 같은 :

$(document).click(function(e) { 
    var x = e.clientX; 
    var y = e.clientY; 
    document.elementFromPoint(x, y).click(); 
}) 

는 사용자의 마우스 위치를 얻기 할 수있는 유일한 이벤트를 통해 수행됩니다. 의 마우스가 고장이며 추적하지만, 다른 수단을 통해 현재 위치에서 클릭 '가짜'를 게재 할 수 클릭하지 가정 해 봅시다 :

var x, y; 

$(document).mousemove(function(e) { 
    x = e.clientX; 
    y = e.clientY; 
}) 

$(document).keyup(function(e) { 
    // if the key pressed was return, click at the current cursor position 
    if (e.keyCode === 13) { 
     document.elementFromPoint(x, y).click(); 
    } 
}) 

$(document).keyup(function(e) { 
    // if the key pressed was space, click 50px below the current cursor position 
    if (e.keyCode === 32) { 
     document.elementFromPoint(x, y + 50).click(); 
    } 
}) 

는 테스트 작업, 이제와 클릭 수 당신의 키보드! document.elementFromPoint (x, y)는 뷰포트 상대 좌표 에서 보이는 요소

참고. 따라서 e.clientX & e.clientY이 아닌 e.pageX & e.pageY을 사용하게됩니다.

+0

해당하는 말이 맞다면 클릭을 처리하지 않으려합니다. 이 문제는 오래 전부터 제기되었지만 품질 보증 자동화 프레임 워크를 사용하는 데 문제가 있습니다. – Yelitza

+0

이벤트를 사용하여 현재 마우스 위치를 가져와야합니다. 위의 답변을 좀 더 자세히 업데이트했습니다. –

관련 문제