Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.07.2018, 10:31
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Почему после окончания переноса переходит по ссылке
Вот есть код. Не могу понять, почему после окончания переноса элемента он переходит по ссылке взятой из id элемента. как можно исправить? Спасибо.
<!DOCTYPE html>

<html>
<head>
    <title>Dragdrop</title>
    
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
</head>

<body>
<style>
    .color {
  width: 100px;
  height: 50px;
  border: dotted 1px black;
  margin: 5px;
}

.color-target {
  width: 100px;
  height: 50px;
  border: dotted 1px black;
  margin: 5px;
}

#r {
  background-color: red;
}
#o {
  background-color: orange;
}
#y {
  background-color: yellow;
}
#g {
  background-color: green;
}
#b {
  background-color: blue;
}
#i {
  background-color: indigo;
}
#v {
  background-color: violet;
}
</style>
Drag from here...
<div class="color" id="r" draggable="true"></div>
<div class="color" id="o" draggable="true"></div>
<div class="color" id="y" draggable="true"></div>
<div class="color" id="g" draggable="true"></div>
<div class="color" id="b" draggable="true"></div>
<div class="color" id="i" draggable="true"></div>
<div class="color" id="v" draggable="true"></div>

To here...
<div class="color-target"></div>
<div class="color-target"></div>
<script>
$(document).ready(function() {
    $('.color').bind('dragstart', function(event) {
	event.originalEvent.dataTransfer.setData('text/plain', event.target.getAttribute('id'));
    });

    $('.color-target, .color').bind('dragover', function(event) {
        event.preventDefault();
    });

    $('.color-target').bind('drop', function(event) {
        var src = event.originalEvent.dataTransfer.getData("text/plain");
        var bc = $('#' + src).css('background-color');
        $(this).css('background-color', bc);
    });

    $('.color').bind('drop', function(event) {
        var src = event.originalEvent.dataTransfer.getData("text/plain");
        swapNodes(document.getElementById(src), this);
    });

    function swapNodes(a, b) {
        var aparent= a.parentNode;
        var asibling= a.nextSibling===b? a : a.nextSibling;
        b.parentNode.insertBefore(a, b);
        aparent.insertBefore(b, asibling);
  }
});

</script>
</body>
</html>

Последний раз редактировалось Начинающий-Js-кодер, 14.07.2018 в 10:31. Причина: Теги
Ответить с цитированием
  #2 (permalink)  
Старый 14.07.2018, 10:32
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Проблема ориентировочно тут:
$('.color').bind('dragstart', function(event) {
	    event.originalEvent.dataTransfer.setData('text/plain', event.target.getAttribute('id'));
	    });
Ответить с цитированием
  #3 (permalink)  
Старый 14.07.2018, 10:50
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Сделал так:
$(".color").draggable({
  revert:true
});
$(".door").droppable({
  drop: function(e, ui) {
    console.log(ui.draggable)
    $(this).css("background-color", ui.draggable.attr("id"));
  }
});

Работает. Но почему проблема в том коде?!
Ответить с цитированием
  #4 (permalink)  
Старый 14.07.2018, 19:00
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

спасибо. пошаманю
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему может не работать mouseover после метода post/get vuler Общие вопросы Javascript 1 22.02.2012 13:28
Переход на страницу после окончания проигрывания bohdantheone Общие вопросы Javascript 7 03.12.2011 06:59
Выполнить функцию после окончания всей анимации De-Luxis jQuery 2 24.11.2011 17:11
Почему скрипт срабатывает только после обновления страницы? Randomizer jQuery 2 01.09.2010 19:01
переход по ссылке только после нескольких кликов по ней smilexpo Events/DOM/Window 8 24.11.2009 16:57