0

プラグインを使用してさまざまなオブジェクトを作成し、それらにさらにオブジェクトを追加します。その際、それらの新しいオブジェクトを選択する必要があります。

ここで非常に単純な jsfiddle を作成しました: http://jsfiddle.net/6zBGj/2/

そして、ご覧itemのとおり、に divを追加して$container、ユーザーがクリックしたときにitem何かをしたいのですが、それを選択する方法が見つかりません。

これはプラグインであり、このように選択したくないことに注意してください$(".container .item")。個々のオブジェクトを個別に操作する必要があります。

PSは乱雑なコードを気にしないでください。これは単なる例です。

4

3 に答える 3

1

最初にメモリ内に要素を作成する場合は、そこにイベントハンドラーをアタッチしてから、その変数を親に追加できます。このような:

var $item = $("<div class='item'></div>").click(function() {
    alert("Foo");
});
$container.append($item);

フィドルの例

于 2012-11-23T12:18:52.980 に答える
1

divはまだ存在しないため、リスナーをアタッチすることはできません。できることは、コンテナー内のすべてのdivをリッスンするイベントをコンテナー自体に委任することです。

$container.on("click", "div", function(){
   $(".event").append("clicked! <br />");
});

これがデモンストレーションです:http://jsfiddle.net/6zBGj/4/

于 2012-11-23T12:19:07.450 に答える
1

コンテナに何が追加されるかがわかっている場合は、これを行うことができます-http://jsfiddle.net/aYgvm/

私がしたのは変更だけでした:

$("div", $container).live("click", function(){
   $(".event").append("clicked! <br />"); 
});

に:

$($container).on('click','div', function(){
   $(".event").append("clicked! <br />"); 
});

live()また、 -Jquery live()とdelegate()の使用は避けてください。

于 2012-11-23T12:19:12.747 に答える