Показать сообщение отдельно
  #1 (permalink)  
Старый 25.12.2011, 11:29
Аспирант
Отправить личное сообщение для kiff86 Посмотреть профиль Найти все сообщения от kiff86
 
Регистрация: 26.03.2011
Сообщений: 52

.live("drop") - ???
Всем привет.
Есть событие - 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 с подгруженными элементами?
Ответить с цитированием