Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

// за границы совпадает с количеством входов, следует снять подсветку списка entered--;

if ((to && !ischild(to,list)) || entered <= 0) {

list.className = original_class;

entered = 0;

}

return false;

}

//
Этот обработчик вызывается, когда происходит сброс объекта.

// Он извлекает сброшенный текст и превращает его в новый элемент <li>

list.ondrop = function(e) {

е = е И window.event; // Получить объект события

// Получить сброшенные данные в текстовом формате.

// "Text" - это псевдоним для "text/plain".

// IE не поддерживает "text/plain”, поэтому здесь используется "Text".

var dt = e.dataTransfer; // объект dataTransfer

var text = dt.getData("Text"); // Получить данные в текстовом формате.

// Если был получен некоторый текст, превратить его в новый элемент

// списка и добавить в конец,

if (text) {

var item = document.createElement("li"); // Создать новый <li>

item.draggable = true; // Сделать буксируемым

item.appendChild(document.createTextNode(text)); // Добавить текст

list.appendChild(item); // Добавить в список

// Восстановить первоначальный стиль списка и сбросить счетчик entered

list.className = original_class;

entered = 0;

return false;

}

};

// Сделать все элементы списка буксируемыми

var items = list.getElementsByTagName("li");

for(var і = 0; і < items.length; i++) items[i].draggable = true;

//
И зарегистрировать обработчики для поддержки буксировки элементов списка.

// Обратите внимание, что мы поместили эти обработчики в список и ожидаем,

// что события будут всплывать вверх от элементов списка.

// Этот обработчик вызывается, когда буксировка начинается внутри списка,

list.ondragstart = function(e) {

var е = е || window.event;

var target = e.target || e.srcElement;

// Если всплыло событие от элемента, отличного от <li>, игнорировать его

if (target.tagName !== "li") return false;

// Получить важный объект dataTransfer

var dt = e.dataTransfer;

// Сохранить данные и указать информацию об их формате

dt.setData("Text", target.innerText || target.textContent);

// Сообщить, что поддерживаются операции копирования и перемещения

dt.effectAllowed = "copyMove";

};

// Этот обработчик вызывается после успешного сброса

list.ondragend = function(e) {

е = е || window.event;

var target = e.target || e.srcElement;

// Если выполнялась операция перемещения, удалить элемент списка.

// В IE8 это свойство будет иметь значение "none", если явно

// не установить его в значение "move" в обработчике ondrop выше.

// Но принудительная установка в значение "move" для IE будет

// препятствовать другим броузерам дать пользователю возможность

// выбирать между операцияим перемещения и копирования,

if (e.dataTransfer.dropEffect === "move") target.parentNode.removeChild(target);

Поделиться:
Популярные книги

Геном хищника. Книга третья

Гарцевич Евгений Александрович
3. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
5.00
рейтинг книги
Геном хищника. Книга третья

Афганский рубеж

Дорин Михаил
1. Рубеж
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Афганский рубеж

Хозяин Теней 3

Петров Максим Николаевич
3. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Хозяин Теней 3

Адепт. Том второй. Каникулы

Бубела Олег Николаевич
7. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.05
рейтинг книги
Адепт. Том второй. Каникулы

Шайтан Иван

Тен Эдуард
1. Шайтан Иван
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Шайтан Иван

Черный Маг Императора 23

Герда Александр
23. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 23

Двойник Короля 5

Скабер Артемий
5. Двойник Короля
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Двойник Короля 5

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец

Инженер Петра Великого 4

Гросов Виктор
4. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инженер Петра Великого 4

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I

На цепи

Уваров
1. На цепи
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
На цепи

Последний Герой. Том 4

Дамиров Рафаэль
Последний герой
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Последний Герой. Том 4

На границе империй. Том 10. Часть 5

INDIGO
23. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 5

Двойник короля 16

Скабер Артемий
16. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 16