0

だから私はjsが得意ではありません... divをdomに追加した後、理解できず、その後の操作方法に問題があります。

だから私はdivを追加する簡単なコードを持っています。

$('#add_frame_by_button').click(function(){
        $('body').append(crazy_frame);
    });

また持っている

$("#resizable").draggable().resizable({
        resize: function(event, ui) {
            //some code
        }
    });

では、追加後に動作するようにバインドする方法は?

4

4 に答える 4

2

div を追加してイベントをバインドした後、div へのトラバースを試すことができます。

$('body').append(crazy_frame).children('#resizable').draggable()...

おそらく今起こっているのは$("#resizable").draggable()...、ページの読み込み時にイベントをバインドすることですが、ページの読み込み後にコンテンツを追加しています.

また、jQuery on()をセレクターと共に使用してイベントを常にバインドすることもできます。または、1.7 より前の jQuery を使用している場合はlive()/を使用することもできます。delegate() 最初のクリックがオブジェクトにどのようにアタッチされたかには問題がなかったため、これは関係ありません。

于 2012-06-22T14:29:43.230 に答える
0

あなたが言ったようにバインドするのがあなたの答えです。クリック イベントを親要素にバインドし、通過するクリック イベントを監視します。現在、使用可能な要素でのみクリック イベントを設定しています。

http://api.jquery.com/bind/

彼らのサイトからのサンプル:

$('#foo').bind('click', function() {
  alert('User clicked on "foo."');
});
于 2012-06-22T14:28:35.650 に答える
0

.on()jQueryの機能を探していると思います。他のいくつかの回答で.live()関数について言及されていますが、この関数は jQuery 1.7 で廃止されました。

この.on()関数を使用すると、子要素からバブルアップして適切に応答する特定のイベントをリッスンできます。.on()動的に追加された を含む要素にメソッドを適用すると、特定のイベントがその要素内<div>からバブルするたびに呼び出される関数を定義できます。<div>

また、ハンドラー自体にさまざま.resizable().draggable()機能を単純に適用できない理由はありますか?.click()

于 2012-06-22T15:03:46.397 に答える
0

あなたの質問は十分に明確ではありません。

私はそれがあなたが探しているものだと思います:

フレームを追加する場合は、フレームを作成する必要があるため、これを追加する必要があります。

<div id='crazy_frame' style='width:200px;height:100px;background-color:red'></div>

私が見えるようにいくつかのサイズと色を与えます。もちろん、サイズと色を変更できます。

この「フレーム」にドラッグ可能なプロパティを与えたい場合は、ドラッグ可能なメソッドを呼び出すだけです。

<script type="text/javascript">
$(document).ready(function(){
 $('#add_frame_by_button').click(function(){
  $('body').append("<div id='crazy_frame' style='width:200px;height:100px;background-      color:red'></div>");
  $('#crazy_frame').draggable();
 });    

});

</script>

そうすれば、すぐに問題に直面しなければなりません。私がフォローする権利があるかどうか教えてください

于 2012-06-22T15:11:08.953 に答える