2016-08-02 2 views
0

여기 내 코드가 있는데 ev.pageX 이벤트가 작동하지 않습니다. 왜 그런지 이해하지 못합니다. 그러나 click 이벤트에 대한 작업. 여기에 사용 된 이벤트는 keypress 이벤트입니다. ev.pageX의 값을 찾고 있으므로 텍스트 상자 안의 CSS 절대 매개 변수를 포맷 할 수 있습니다.pageX 및 pageY with jQuery Keypress 이벤트가 작동하지 않습니다.

도움이 필요합니다!

<head> 

    <style> 
    textarea{ 
    width:300px; 
    height:300px; 
    } 

.popup{ 
    position:absolute; 
    border:1px solid gray; 
} 
</style> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
</head> 

<body> 

<textarea></textarea> 

<script> 
    $(function() { 
     var $popup = $('<select/>', { 
      'html': 'popup' 
     }) 
      .addClass('popup') 
      .appendTo('body') 
      .append($('<option/>').html('lala'), 
        $('<option/>').html('blabla')) 
      .change(function() { 
       $(this).fadeOut(); 
      }) 
      .hide(); 



     $('textarea').keypress(function(ev) {    
      if ($popup.is(':visible')) { 
       $popup.fadeOut(); 
      } else { 
       if (ev.keyCode === 32) { 
        console.log('pressed');    

        ev.preventDefault() 
        var pagex = ev.pageX;        
        console.log(pagex); 

        $popup.css({ 
         'left': ev.pageX + 10, 
         'top': ev.pageY - 10 
        }); 


        $popup.fadeIn(); 

        console.log('working'); 
       } 
       }     


     }); 



    }); 
</script> 
</body> 

+0

'pageX'와'pageY'는 마우스 이벤트를위한 것이지 키보드 이벤트는 아닙니다. – gcampbell

답변

0

X 페이지와 페이지 Y 마우스 이벤트를 위해 예약하는 동안 ev에 대한 귀하의 참조 키 누르기 이벤트에 있습니다.

잠재적으로 마우스 이동시 마우스 코디를 추적하고 전역에 값을 할당 한 다음 팝업을 마지막으로 기록 된 전역 값에 배치 할 수 있습니다. 그러나 이것은 유스 케이스에 따라 리소스가 지나치게 커질 수 있습니다.

관련 문제