jQuery .attr () не определен только в Chrome - PullRequest
2 голосов
/ 29 июля 2010

Я делаю техническую демонстрацию HTML5 для работы, в которой пользователь может перетаскивать «приложения» из меню на экран, и они будут отображаться в подвижных и изменяемых размерах фреймов на странице.Все это хорошо работает в Firefox, но когда я пробую его в Chrome (который поддерживает больше функций HTML5), он пытается загрузить URL «undefined» в любой каталог, в котором я нахожусь. Вот мой код.

$(".menu-app")
                .attr("draggable", "true")
                .bind("dragstart", function(ev) {
                    var dt = ev.originalEvent.dataTransfer;
                    var src = $(this).attr("value");
                    dt.setData("src", src);
                    return true;
                    })
                .bind("dragend", function() {
                    return false;
                    });
            $("#content")
                .bind("dragenter", function() {
                    return false;
                    })
                .bind("dragleave", function() {
                    return false;
                    })
                .bind("dragover", function() {
                    return false;
                    })
                .bind("drop", function(ev) {
                        var dt = ev.originalEvent.dataTransfer;
                        $("#content").html($("#content").html()+
                            "<div class='app'><iframe width='100%' height='100%' frameborder='0' src='"+
                                dt.getData("src")+"'></iframe></div>");
           // Make application windows draggable and resizable 
           $(".app").resizable({grid:20}).draggable({grid:[20,20]}).addClass("ui-widget-content");
                    return false;
                    });

1 Ответ

1 голос
/ 02 августа 2010

Оказывается, проблема не была в jQuery вообще. Это произошло потому, что Chrome поддерживает только 2 типа данных с помощью перетаскивания: «URL» и «Текст» Переключение dt.setData("src", src); на dt.setData("Text", src); решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...