2010-11-21 9 views

cevap

4

İşte küçük bir [Demo].

var canvas = document.getElementById("canvas"); 
canvas.onclick = function(e) { 
    // mouse coordinates relative 
    // to the canvas element 
    var position = canvas.getBoundingClientRect(); 
    var click = { 
    x: e.clientX - position.left, 
    y: e.clientY - position.top 
    }; 
}; 
+0

Bu kromda güzel sessiz çalışır, ancak FF3.6'da değil. En azından * iki * broswers'ı desteklemek istiyorum. –

+0

Evet, üzgünüm FF'nin doğrudan olmadığını unutmuşum. Güncellemeye bakın. – galambalazs

3

DOM olaylarını DOM nesnelerinden (ögeler) başka şeylere ekleyemezsiniz. canvas bir DOM öğesidir, üzerinde çizdiğiniz şeyler değildir. Kullanıcının tıkladığı özel x y koords'larını elde etmek için tıklama olayını canvas öğenize eklemeniz ve ardından tıklamanın x, y coords'larını canvas öğenizin x, y coords ile karşılaştırmanız gerekir.

+0

Standart OnClick etkinliğini tuvalimle kullanabilir miyim? –

+0

'@ C. Ross' Evet, bir 'tuval' * elemanının kendisine bir olay işleyicisini ekleyebilirsin. Kısa cevap ... Evet. :) – Alex