我添加圖像(節點)的HTML5畫布下面的JavaScript函數:圖像不拖在HTML5畫布
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]);
}
}
我希望能夠通過左右移動圖像在畫布上拖放,但我從一開始就遇到問題。看起來圖像上的可拖動屬性從未設置,因爲dragstart事件從不會引發。我已經看過各種樣本,但我一直無法確定我在做什麼不同。
作爲測試,我在一個div加入可拖動=「真」,以下面的圖像和內鉻進行了測試:
<div style="background-color: #eeeeee; height: 100px; width: 100px;">
<img src="image.png" draggable="true" />
</div>
隨着一個div上述圖像,我注意到鉻開始象拖拽我會期待的。我在上面做的和我在畫布上用圖像做什麼之間有什麼區別(除了關於使用標記的顯而易見的地方)?
唉唉......我今天早些時候確實忽略了這個例子。謝謝你的解釋;這有助於清理很多事情。 – senfo