2016-11-04 25 views
0

私は、PHPからjavascriptコードを生成するフレームワークであるアジャイルツールキットを使用しています。私はいくつかの他のdiv要素、いくつかのボタンを含むdiv要素(私はそれを "トップ要素"と呼ぶ)があります。 "top-element"を別の要素に移動して親要素を変更したいとします。要素を別の要素に追加した後のJqueryダブルクリックイベント

私のような何か試してみました:

$('#top-element').appendTo($('#new-parent')); 

をしかし、問題は「トップ要素」イベント、いくつかのボタンをクリックして持っているいくつかの子供を持っているということです。新しいエレメントに(親を変更した後に)「トップエレメント」を追加した後、クリックイベントが2回トリガーされます。

私は要素のクローンを作成し、新しい親にクローン化された要素を追加してみました:

var cloned_top_element = $('#top-element').clone(true); 
cloned_top_element.appendTo($('#new-parent')); 

私は同じ問題を抱えて、「トップ要素」子供のclickイベントが二回呼ばれていました。

ダブルクリックを防止するための方法が使用することです。

$('#new-parent').find('.children-class').unbind('dblclick').unbind('click'); 

しかし、まだ何もありません:

unbind('click') or off('click') 

は、私のようなものを試してみました。

子ボタンの結合は、このようなものです:

$('.children-class').bind('click',function(ev){ ev.preventDefault();ev.stopPropagation(); other stuff }); 

bind関数は一度だけ表示されます。 jsコードに重複はありません。

アイデア?期待していただきありがとうございます。

+0

イベントハンドラをコピーしていないのだろうか?clone機能.clone();trueを削除しますか –

+0

このエラーをjsfiddleで複製できますか? – madalinivascu

+0

いいえ、私にはフレームワークがあり、多くのカスタムコードがあります。 – Pascut

答えて

0

、これはどのようにあなたが最初の場所でクリックイベントをバインドしている

+0

私もこれを試しました。クリックイベントのトリガが2つあります。 – Pascut

+0

jsfiddleでこのエラーを複製できますか? – madalinivascu

+0

いいえ、私にはフレームワークがあり、多くのカスタムコードがあります。クリックイベントに関するjsは、フレームワークによって生成されます。しかし、有効なjsコードです。 – Pascut

関連する問題