我最近发布了一个问题here,告诉我使用.on()
将元素附加到动态创建的对象上。我只是在我的脚本中实现这个问题,因为我使用的是来自EasyUI的元素:
$(".item").draggable({ ... });
而且我不太确定如何修改它以使用.on()
。
我尝试过以下方法:
$('body').on('draggable', '.item', function() { ... });
(给我一个错误,:
是一个意外的令牌(代码行是revert:true,
))。
和:
$('body').on('draggable', '.item', draggable({ ... }));
但是没有定义draggable
。
对不起,如果这真的很容易,那只是我的头脑:P
感谢您的帮助
答案 0 :(得分:2)
draggable
不是一个事件,因此您无法为其附加事件处理程序。它是一个jQuery插件方法,你不能在元素上调用它,直到元素存在。
如果您要动态创建元素,则需要将初始化插件的代码放入创建元素的代码中。所以它看起来像:
newElement = $("<div>", { "class": "item" }).draggable({...}).appendTo(something);
使用.load
时,您可以在回调函数中附加小部件。
$("#shop").load("showcontent/cat1.html", function() {
$(this).find(".item").draggable({ ... });
});
答案 1 :(得分:0)
对于第一个问题,它看起来像revert:true需要是一个对象SELECT `A`.*, max(B.timestamp) as timestamp2
FROM (`A`)
JOIN `B` ON `A`.`column1` = `B`.`column1`
WHERE `column2` = 'Player'
GROUP BY `column1`
ORDER BY `timestamp2` desc
。
对于第二个问题,您需要将回调函数传递给事件侦听器,您可以使用函数关键字声明一个内联,例如。
{revert:true}
或者您可以传递匿名函数
$('body').on('draggable', '.item', function draggable({ ... }));
或在其他地方声明该函数,并通过引用将其传递给事件监听器,例如。
$('body').on('draggable', '.item', function({ ... }));
答案 2 :(得分:0)
看起来您将元素的名称与事件的名称混淆。您可以调用 {
"xyz": {
"mappings": {
"abc": {
"properties": {
"lastModifiedBy": {
"type": "string"
},
"lastModifiedDate": {
"type": "date",
"format": "dateOptionalTime"
},
"name": {
"type": "string"
},
"profile": {
"properties": {
"lastModifiedBy": {
"type": "string"
},
"lastModifiedDate": {
"type": "date",
"format": "dateOptionalTime"
},
"type": {
"type": "string"
},
"views": {
"properties": {
"id": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"name": {
"type": "string"
},
"properties": {
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"type": {
"type": "string"
},
"viewId": {
"type": "string"
},
"widgets": {
"properties": {
"elementId": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"properties": {
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"type": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
来生成可以拖动的新元素。
要收听元素被拖动的事件,您希望列出$(".item").draggable({...})
,onStartDrag
或onDrag
。像这样onStopDrag
。