チェスの駒にドラッグ動作を設定することができない問題解決==使用d3.drag()()とD3-drag.v1.min.jsをD3js:代わりd3.behaviour.dragの
を使用してI D3jsを使ってSVGチェスボードを設定し、for行を使って各行と各列を調べます。私はチェスの断片のためにユニコードを使用したので、各チェスの断片はsvg要素です。
私はD3jsのドラッグ動作でチェスをドラッグしようとしていますが、不可能です。
すべてのチェスピースは、「ドラッグ可能」というクラスを持っています。だから私は、ドラッグを作成し、クラスですべての要素に
がvar drag = d3.behavior.drag()
.origin(function() {
var t = d3.select(this);
return {x: t.attr("x"), y: t.attr("y")};
})
.on("dragstart", function() {
d3.event.sourceEvent.stopPropagation(); // silence other listeners
})
.on("drag", function(d,i) {
d3.select(this)
.attr("x", d3.event.x)
.attr("y", d3.event.y);
});
d3.selectAll(".draggable").call(drag);
私の完全なコードは、ここでまた、私は他にあるとSVG要素と同じドラッグ機能を使用しようとしましたhttp://codepen.io/linhnt1516/pen/ZeGoNj?editors=0011
ある「ドラッグ」、それを添付しました例。このコードペンhttp://codepen.io/linhnt1516/pen/VpvobE?editors=0011をチェックし、テキストとボックスをドラッグします。
私はD3jsの数多くのドラッグ例を見てきましたが、どれもチェスのピースケースでは動作しません。
ここで問題が起こる可能性のある解決策やアイデアは誰でもあります。
ドラッグしています。正確な問題は何ですか? –
@GerardoFurtadoねえ、おねえていただきありがとうございます。私は問題を理解した。コードが更新されます。ドラッグの振る舞いは今は大丈夫です。 Btw、今私は新しい場所にピースが四角形の上にあるときにそのピースを移動したい、四角形が新しい強調表示されたボーダーを得る。そのため、各四角は、ピースがその上に移動したときにトリガーされるイベントを持ちます。なにか提案を??ありがとうございました。 –
別の問題がある場合は、別の質問を投稿してください。誰もがコメントを読んでいるわけではありません。 –