私はいくつかの矩形を描くためにRaphaelJSを使用します。私は各rectが選択可能であることを望む。だから私はクリック機能を追加、それは他の色で選択した矩形を埋めるし、配列に追加します。選択したすべての矩形の選択を解除したいこのために、私は紙のクリック機能を追加しました。 問題はありません。なぜなら、私がrectをクリックするたびに、rectのclick on関数を呼び出してから、その関数を呼び出します。それで、直ちに再びrectを選択します。私は、問題は、rectのクリックがrectを通過することだと思います。Jquery/RaphaelJS SVG rectをクリックして無効にします
誰もがクリックを防ぐ方法を知っていますか?
ありがとうございます!
// bild new rectangle
var rectElement = paper.rect(x, y, w, h);
// add attributes
rectElement.attr({
fill: "white",
opacity: 1,
stroke: "#F00",
title: text
});
$(document).on("click", ".drawedRect", function() {
console.log("Add to selected");
selectedRects.push(this);
$(this).attr({
fill: "#F39814",
});
});
$(document).on("click", "#paper", function() {
console.log("Click paper");
selectedRects.forEach(function(entry){
$(entry).attr({
fill: "white",
});
})
});
Raphaelを使用している場合、私は個人的にはJqueryではなくRaphaelsのクリックハンドラーを使用します。私は問題がそれから離れて行くと思う。それ以外の場合は、event.preventDefault()を参照してクリックハンドラに追加してください。 – Ian
私はRaphaelからclickイベントを試してみました。しかし、キャンバス上ではなく、rectまたは楕円上のクリックイベントのみをバインドすることができます。したがって、クリック機能でjqueryを変更しました。 – inf3ction