2016-08-02 3 views
0

ここに私のコードですが、ev.pageXイベントは機能しません。私はなぜそうそう理解していない。しかし、クリックイベントを処理しています。ここで使用されているイベントは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

pageXとpageYは、マウスイベントのために予約されている間evへのあなたの参照は、キープレスイベントです。

マウスの移動時にマウスの座標を追跡し、値をグローバルに割り当てて、最後に記録されたグローバル値にポップアップします。しかし、これはあなたのユースケースに応じて過度にリソースが強くなる可能性があります。

関連する問題