Я добавляю изображение (узлы) на холст HTML5 с помощью следующей функции JavaScript:Изображения Не перетаскивание на HTML5 Canvas
function drawNodes(nodes, context) {
for (var x in nodes) {
// Create a closure to prevent a modified closure with the image.onload event handler
var f = (function (node) {
var image = new Image();
image.id = myGetIdFunction();
image.src = 'image.png';
image.draggable = true;
image.dragstart = function (e) {
alert('Test');
};
image.onload = function() {
context.drawImage(image, node.attributes.position.x, node.attributes.position.y);
};
});
f(nodes[x]);
}
}
Я надеюсь, чтобы иметь возможность перемещать изображения вокруг на холсте перетаскивание, но у меня проблемы с самого начала. Кажется, что атрибут draggable на изображении никогда не устанавливается, потому что событие dragstart никогда не поднимается. Я просмотрел различные образцы, но я не смог определить, что я делаю.
В качестве теста, я добавил перетаскиваемым = «истина» к следующему изображению в DIV и протестировали его в Chrome:
<div style="background-color: #eeeeee; height: 100px; width: 100px;">
<img src="image.png" draggable="true" />
</div>
С выше изображения в DIV, я заметил, Chrome начинает перетаскивание как Я бы ожидал. В чем разница между тем, что я делаю выше, и тем, что я делаю с изображением на холсте (помимо очевидного бита об использовании разметки)?
аааа ... Я на самом деле упускать из виду этот пример, ранее сегодня. Спасибо вам за разъяснение; что помогло разобраться в многом. – senfo