0

要素が .load() で動的に読み込まれる Web サイトで作業しています

これらの要素の一部には、jeditable ( http://www.appelsiini.net/projects/jeditable )で使用するための edit_area クラスがあります。

loadMe.html

<div class="edit_area" id="news">
    Content to be loaded
</div>

jQuery

$('#loadArea').load('loadMe.html');
$('.edit_area').editable('save.php', { 
    type      : 'textarea',
    cancel    : 'Cancel',
    submit    : 'OK',
    indicator : '<img src="loaderimage.gif">',
    tooltip   : 'Click to edit...'
});

これらの要素は動的にロードされるため、.ediable() メソッドはそれらにバインドされていません。この問題を解決するにはどうすればよいですか?

4

4 に答える 4

0

要素は動的に読み込まれるため、コードが呼び出されたときに必ずしも存在するとは限りません。

.delegate を見てください

http://api.jquery.com/delegate/

于 2013-02-16T03:43:23.727 に答える
0
$('#loadArea').load('loadMe.html', function()
{
    $('.edit_area').editable('save.php', { 
      type      : 'textarea',
      cancel    : 'Cancel',
      submit    : 'OK',
      indicator : '<img src="loaderimage.gif">',
      tooltip   : 'Click to edit...'
    });
});
于 2013-02-16T03:40:11.323 に答える
0

load イベントからのコールバックでは、「find」メソッドを使用して、「編集可能」を適用する必要な子要素を見つけることができます。

于 2013-02-16T03:40:31.360 に答える
0
$("#loadArea").load('loadMe.html', function () {
    $('.edit_area').editable('save.php', {
        //etc.

から.editiableコールバックで行う場合.load、要素を最初にロードする必要があります。

于 2013-02-16T03:39:12.337 に答える