2015-08-14 98 views
1

我想模擬一個鼠標單擊,在負載上的特定點上的畫布上繪製某些東西。我正在看這篇文章,JavaScript draw a circle on mouse click - cordinates don't match,我正在試驗JS提琴在這裏提供:http://jsfiddle.net/7xQZ2/22/使用jQuery模擬座標上的鼠標點擊

當你點擊畫布時,原來的JS小提琴繪製圓圈。是否有可能模擬這種負載點擊?例如,當頁面加載時,會在(200,200)處出現一個圓圈?

function simulateClick(x, y) { 
    $(document.elementFromPoint(x, y)).trigger('click') 
} 
simulateClick(200, 200) 

在此先感謝!

回答

0

創建繪製函數:

function draw(pageX, pageY, canvas){ 
    var x = pageX - canvas.offsetLeft; 
    var y = pageY - canvas.offsetTop; 

    var ctx= canvas.getContext("2d"); 
    ctx.beginPath(); 
    ctx.arc(x, y, 10,0, 2*Math.PI); 
    ctx.stroke(); 

    $('#status2').html(x +', '+ y); 
} 

然後調用這個函數不管你想要的$內(「#特」)點擊(),並在頁面加載,而通過合適的參數。

0
$("#special").click(function(e, x, y){ 
    x = x === undefined ? e.pageX - this.offsetLeft : x; 
    y = y === undefined ? e.pageY - this.offsetTop : y; 

    var ctx= this.getContext("2d"); 
    ctx.beginPath(); 
    ctx.arc(x, y, 10,0, 2*Math.PI); 
    ctx.stroke(); 

    $('#status2').html(x +', '+ y); 
}); 

function simulateClick(x, y) { 
    $("#special").trigger('click', [x, y]) 
} 

simulateClick(200, 200) 

會爲你做它通過傳遞x和y的值,單擊處理程序,如果您已經定義他們

http://jsfiddle.net/7xQZ2/23/