jquery无法处理从Ajax脚本调用的html
问题描述:
我看了一些其他帖子,我无法制作它们的正面或反面。当页面加载时,jquery工作正常,当相同的元素从ajax脚本加载时,jquest不起作用。我明白我需要做一个clal回来,但可以请一些人告诉我这是如何写的?jquery无法处理从Ajax脚本调用的html
HTML:
<div id="item-list2">
<div class="content drag-desired">
<div class="product"><img src="img/products/iPod.png" alt="iPod" width="128" height="128" class="pngfix" />iPod</div>
<div class="product"><img src="img/products/iMac.png" alt="iMac" width="128" height="128" class="pngfix" />iMac</div>
</div>
</div>
的jQuery:
$(document).ready(function(){
$(".product img").draggable({
containment: 'document',
opacity: 0.6,
revert: 'invalid',
helper: 'clone',
zIndex: 100
});
$("div.content.drop-here").droppable({
drop:
function(e, ui)
{
var param = $(ui.draggable).attr('src');
if($.browser.msie && $.browser.version=='6.0')
{
param = $(ui.draggable).attr('style').match(/src=\"([^\"]+)\"/);
param = param[1];
}
viewlist(param);
addlist(param);
}
});
});
阿贾克斯脚本:
function viewlist(param)
{
$.ajax({
type: "POST",
url: "ajax/items.php",
data: 'img='+encodeURIComponent(param),
dataType: 'json',
beforeSend: function(x){$('#ajax-loader').css('visibility','visible');},
success: function(msg2){
$('#item-list2').append(msg2.txt);
}
});
}
答
如果你把所有的可拖动/可弃的初始化代码放到一个函数,说init()
,那么在回电时你只需要做:
success: function(msg2){
$('#item-list2').append(msg2.txt);
// init draggable and droppable on replace elements
init();
}