Всем привет.
Есть событие - drop.
Как его заставить работать через live?
Дропбокс подгружается через ajax. Соответственно чтобы работать с ним использую .live, однако вот такой код не работает..
$('#dropbox').live("drop", function(event) {
event.preventDefault();
var file = event.dataTransfer.files[0];
if (file.size > maxFileSize) {
$(this).text('Файл слишком большой!');
return false;
}
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener('progress', uploadProgress, false);
xhr.onreadystatechange = stateChange;
xhr.open('POST', 'php/upload.php');
xhr.setRequestHeader('X-FILE-NAME', file.name);
var fd = new FormData;
fd.append("file", file);
xhr.send(fd);
});
кстати, также не работают такие события -
$('#dropbox').live('dragover', function(event){
$(this).css("backgroundColor","#D0FF71");
}).live('dragleave', function(event){
$(this).css("backgroundColor","none");
});
Хотя если вместо live прописать bind или оставить live, но только сам dropbox будет не подгружен, а уже на страничке, то все будет работать.
Вот и вопрос - как заставить работать drop с подгруженными элементами?