2

私はjsで新しいhtml要素を作成しています。

$('#write_comment').on('click',function(){
  $(this).html('<textarea> </textarea><button onclick="test()">save</button>');
});

function test(){
 alert('testme');
}

しかし、これらtextareabuttonが作成された後、をクリックしてsaveも何も起こりません。

私が言えるjquery関数はありますか?(newly_created_element).find(js_function)?

それまたは同じ機能を持つ何かがあればいいでしょう。

助けてください。

4

3 に答える 3

3
$('#write_comment').on('click',function(){
  $(this).html('<textarea> </textarea><button id="test">save</button>');
});

$('body').delegate('#test','click',function(){
 alert('testme');
});

クラスの使用

$('#write_comment').on('click',function(){
      $(this).html('<textarea> </textarea><button class="test">save</button>');
    });

    $('body').delegate('.test','click',function(){
     alert('testme');
    });
于 2013-04-01T03:58:54.413 に答える
3

ボタンを個別に作成します。

$('#write_comment').on('click',function(){
  var myButton = $('<button>save</button>').click(function() {
    test();
  });
  $(this).html('<textarea></textarea>').append(myButton);
});
于 2013-04-01T03:59:55.030 に答える
2
$('#write_comment').on('click',function(){
  $(this).html('<textarea> </textarea><button class="NewlyAdded">save</button>');
});

$(document).onのように、.live()またはdelegate()多くの方法で動作します。また、後で追加される要素に対しても機能します。

$(document).on('click','#write_comment button.newlyAdded',function()
{
  alert('testme');
});
于 2013-04-01T04:02:05.767 に答える