2014-02-23 29 views
1

我試圖做一個繪圖板,不斷髮送鼠標的位置,並註冊一個「點擊」每1秒。我已經試過這一點,但它似乎並不奏效 -是否可以通過觸發器('mouseup')事件發送鼠標當前位置的x和y座標?

$("#canvas").mouseover(function() { 
    setInterval(function(){ 
      var mouseLocation = new jQuery.Event("mouseup"); 
      var x = mouseLocation.pageX ; 
      var y = mouseLocation.pageY ; 
      $('#canvas').trigger(mouseLocation); 
      console.log('Interval function is working'); 
      console.log(mouseLocation.pageX); 
     },400); 
    }); 

控制檯顯示「間隔功能正在工作」,但它說,X不是definted

+0

我花了500萬回答你之前剛剛刪除的答案,與之前的答案相同。請公平。 – htatche

+0

你沒有在任何地方定義「x」。先嚐試一下。 – Derek

+0

只需記錄鼠標移動座標並在需要時抓取最後一個已知的座標。 – dandavis

回答

1

Click事件不具有X和y座標。 抓住x和y座標,您必須將mousemove或mouseover事件附加到元素。

$(function(){ 
    var canvas = document.getElementsByTagName("canvas")[0]; 
    var offset = $("canvas").offset(); 
    var a = document.getElementById("a"); 
    canvas.addEventListener("mousemove",function(event){ 
     a.innerText = (event.x - offset.left) + " " + (event.y - offset.top) 
    }) 
}) 

因爲您想要連續輪詢x和y座標mousemove是更好的事件附加。 小提琴:http://jsfiddle.net/BBnuu/