#javascript #jquery #html #css
#javascript #jquery #HTML #css
Вопрос:
Я хочу создать на своем сайте функциональность, которая будет выделять область перетаскивания для удобства пользователя.
Я откопал код, который отлично работает на JSFIDDLE. Но не могу выполнять какие-либо действия на моем локальном сервере.
Я также включил библиотеку Java script, но результаты такие же разочаровывающие, как и предыдущие попытки. Возможно, я что-то упускаю.
Я также даю ссылку на JSFiddle, где код находится в рабочем состоянии.
HTML
<div id='container'><div name='drop' style='display: none;'>DROP HERE</div><div name='drag'>DRAG HERE</div></div>
jQuery
var $dropTarget = $("#container");
$(document).bind("dragover", function(e) {
if ($dropTarget.hasClass("highlight"))
return;
$dropTarget.addClass("highlight");
$dropTarget.find("[name='drop']").show();
$dropTarget.find("[name='drag']").hide();
}).bind("dragleave drop", function(e) {
if (!$dropTarget.hasClass("highlight"))
return;
$dropTarget.removeClass("highlight");
$dropTarget.find("[name='drop']").hide();
$dropTarget.find("[name='drag']").show();
});
CSS
#container {
padding: 10px;
background: #fdd;
border: 2px solid #fdd;
}
#container [name=drop] {
padding: 10px;
background: #dfd;
border: 2px solid #dfd;
}
#container [name=drag] {
padding: 10px;
background: #ddf;
border: 2px solid #ddf;
}
.highlight {
border-color: #fc0;
}
Комментарии:
1. Добро пожаловать в Stack Overflow! Посмотрите в консоль ошибок JavaScript и сообщите, какие ошибки вы там видите и на какие строки они указывают. Если ошибок нет, загляните на вкладку сеть инструментов разработчика браузера и убедитесь, что все скрипты загружены правильно.
2. Ваш jQuery упакован в вызов document ready или загружен в конце документа?
3. Кроме того, jsfiddle ничего не делает для меня (Chrome).
4. у меня тоже не работает (safari 6.1.4)
Ответ №1:
Сработало для меня-
// var $dropTarget = $("#container");
$(document).bind("dragover", function(e) {
if ($("#container").hasClass("highlight"))
return;
$("#container").addClass("highlight");
$("#container").find("[name='drop']").show();
$("#container").find("[name='drag']").hide();
}).bind("dragleave drop", function(e) {
// alert('asdasd');
if (!$("#container").hasClass("highlight"))
return;
$("#container").removeClass("highlight");
$("#container").find("[name='drop']").hide();
$("#container").find("[name='drag']").show();
});
Комментарии:
1. Но он работает здесь — Chrome 35.0.1916.153, а также в Firefox 30