有谁能告诉我如何将draggable
函数作为clickit
的参数传递,这是一个AJAX函数?我想传递draggable
作为参数,将其附加到动态添加的元素。我无法让它定义可拖动函数并将其传递给clickit
。
function clickit(fun){
$.ajax({
'url' : "url",
'dataType' : 'json',
'success' : function(data){
var item_html ="";
$.each(data.query.results.json,function(i,k){
item_html += '<div class="dialog"><h3>'+k+'</h3></div>'
});
$('.area').html(item_html);
fun;
}
});
}
$('button').click(function(){
var funpara = $('.dialog').draggable();
clickit(funpara)
});
这是有效的:
function clickit(){
$.ajax({
'url' : "url",
'dataType' : 'json',
'success' : function(data){
var item_html ="";
$.each(data.query.results.json,function(i,k){
item_html += '<div class="dialog"><h3>'+k+'</h3></div>'
});
$('.area').html(item_html);
$('.dialog').draggable();
}
});
}
$('button').click(function(){
clickit()
});
看起来参数fun
无法传递给success函数。
答案 0 :(得分:3)
您似乎想要调用fun
,但目前您只是在没有调用()
function (data) {
var item_html = "";
$.each(data.query.results.json, function (i, k) {
item_html += '<div class="dialog"><h3>' + k + '</h3></div>';
});
$('.area').html(item_html);
fun();
}
在您的上下文中,您似乎想要调用$('.dialog').draggable()
,因此fun
应该更像这样
function fun(o) {
return $('.dialog').draggable(o);
}