0

私のプラグインはノードを複製し、指定された場所に追加します。複製されたノードを削除するオプションが含まれています。

例:

$('#duplicateMe').duplicator( {
      copyToLocation:'#copy_to_here', 
      removeButton:'.removeDuplicateBtn'
    });

プラグイン内にチェックを作成して、クリックされたときに removeButton が配置されている場所を特定し、それに基づいてアイテムを削除する方法を探しています。

私の 3 つの使用例は次のようになります。

if ( defaultOptions.removeButton is the item duplicated ){ 
         ... is clicked, remove itself 
       }
if ( defaultOptions.removeButton is the child of item duplicated ){ 
         ... is clicked, remove its parent, in turn removing itself 
       }
if ( defaultOptions.removeButton is NOT the item duplicated && is NOT the child of the item duplicated ){ 
         ... is clicked, remove the last item duplicated 
       }      

2 つの別個の removeButton を作成することもできます。1 つの削除ボタンが複製されたノードの外側にある可能性があり、それによって最後の複製されたノードが削除されます。2 番目の削除ボタンは、複製されたノード内に作成でき、それ自体を削除できます。ただし、1 つの defaultOptions.removeButton を宣言し、コードがクリックされたときにどこにあるかをチェックするのが最善だと思います。

現在、removeButton は、そのクラスを持つノードに関係なく、最後に複製されたノードを削除します。つまり、どの removeButton をクリックしても、最後に複製されたアイテムが削除されます。複製されたものであるか、複製されたものの外にある可能性があります。最後のアイテムを削除します。

私はしばらくの間、この論理について頭を悩ませてきました。これを実装する方法はありますか?

作業中のコードは次のとおりです。

「四角形の複製」を 3 回クリックすると、それらのいずれかの削除をクリックすると、最後に複製されたアイテムが削除されます。idPrefix_2 の横にある削除をクリックして、idPrefix_2 だけを削除できるようにしてほしい。または、[最後の四角形を削除] をクリックすると、残っている青い四角形 (列の最後の四角形) が削除されます。

4

2 に答える 2