Я создал виджет jquery, который позволяет мне прикреплять его к холсту и записывать чертежи, которые создает пользователь.(Firefox) Javascript mousemove не то же самое, что jQuery mousemove
У меня проблема с Firefox, где событие, запущенное jQuery, не работает; но работает собственное javascript-событие.
JSFiddle проблемы: http://jsfiddle.net/sk6N5/8/
Я могу рисовать в canvas1, но не в canvas2. Я не знаю, почему рисунок немного выключен; но в моем собственном виджете работает как ожидалось (так что это не имеет значения).
Это ошибка в jQuery или мне нужно использовать ее по-другому? (Я действительно хочу использовать jQuery из-за пространства имен имен).
Мой JavaScript:
document.getElementById("canvas1").addEventListener("mousemove", function(event){
self = this;
draw(event, self);
});
$("#canvas2").on("mousemove", function(event){
self = this;
draw(event, self);
});
function draw(ev, canvas){
var x, y;
if (ev.layerX || ev.layerX == 0) {
x = ev.layerX;
y = ev.layerY;
} else if (ev.offsetX || ev.offsetX == 0) {
x = ev.offsetX;
y = ev.offsetY;
}
var context = canvas.getContext('2d');
console.log(ev, x, y);
if (x === undefined || y === undefined) return;
context.fillStyle = "rgb(0,255,255)";
context.lineTo(x, y);
context.stroke();
}