5

クリックした要素を除いて、キャンバスからすべての要素を削除したいと思います。セットを作成し、すべての要素を内部に配置してセットを削除します。

button.click(function () {
    var to_remove = paper.set();    
    paper.forEach(function (el) {
        to_remove.push(el);
    });         
    to_remove.remove();
});

しかし、要素がボタンであるかどうかをテストすることに成功しません。

アクセル

4

1 に答える 1

1

クリックした要素を単純にキャッシュして、ループ中に比較できます。

button.click(function() {
    var clickedEl = this,
        toRemove = paper.set();

    paper.forEach(function(el) {
        if (el !== clickedEl) {
            toRemove.push(el);
        }
    });

    toRemove.remove();
});​

デモ: http://jsfiddle.net/yRNNe/

于 2012-12-19T22:32:49.357 に答える