Вы можете использовать делегирование события , чтобы в основном подключить только один обработчик события ко всему документу, и получить элемент, из которого событие было отправлено изначально, используя event.target :
document.body.onmousedown = function (e) {
e = e || window.event;
var elementId = (e.target || e.srcElement).id;
// call your re-create function
recreate(elementId);
// ...
}
function recreate (id) {
// you can do the DOM manipulation here.
}
Редактировать: Вы можете назначить события для всех ваших сценариев Draggables следующим образом:
Event.observe(window, 'load', function () {
Draggables.drags.each(function (item) {
Event.observe(item.element, 'mousedown', function () {
alert('mouseDown ' + this.id); // the this variable is the element
}); // which has been "mouse downed"
});
});
Проверьте пример здесь .