私のフィドルでわかるように。または、次のコードで、イベントを発生させようとしています。ボックスの上にカーソルを置いてスペース バーをクリックすると、確認ウィンドウが表示されます。はいをクリックすると、ボックスが削除されます。
バグ/問題は、ボックスを削除してスペースバーをもう一度クリックすると、同じプロンプトが表示されることです。でリスニングをオフにすることでこれを解決したと思いましたrTwo.setListening(false);
layer.drawHit();
とにかく、助けていただければ幸いです。ありがとう。
コード:
var stage = new Kinetic.Stage({
container: 'container',
width: 850,
height: 400
});
var layer = new Kinetic.Layer();
var rTwo = new Kinetic.Rect({
x: 0,
y: 0,
width: 100,
height: 50,
fill: 'blue',
draggable: true,
});
layer.add(rTwo);
rTwo.on('mouseover', function() {
document.onkeypress = function(e) {
e = e || window.event;
var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
if (charCode == 32) {
var b1 = confirm("Would you like to delete router 2?");
if (b1 == true) {
rTwo.hide();
rLayer.draw();
rTwo.setListening(false);
rlayer.drawHit();
} else if (b1 == false) {
rLayer.draw();
}
}
};
});
stage.add(layer);