Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

if ((from && !ischild(from, list)) || entered == 1) {

// Вся информация о буксируемом объекте находится в объекте dataTransfer

var dt = е.dataTransfer;

// Объект dt.types содержит список типов, или форматов, в которых доступны

// буксируемые данные. Спецификация HTML5 требует, чтобы свойство types имело

// метод contains. В некоторых броузерах это свойство является массивом

// с методом indexOf. В IE версии 8 и ниже оно просто отсутствует,

var types = dt.types; // В каких форматах доступны данные

// Если информация о типах отсутствует или данные доступны в простом

// текстовом формате, подсветить список, чтобы показать пользователю, что он

// готов принять данные, и вернуть false, чтобы известить о том же и броузер,

if (!types || //IE

(types.contains && types.contains("text/plain")) || //HTML5

(types.indexOf && types.indexOf("text/plain")!=-1)) //Webkit

{

list.className = original_class + " droppable";

return false;

}

// Если тип данных не поддерживается, мы не сможем принять их return;

// без отмены

}

return false; // Если это не первое вхождение, мы по-прежнему готовы

};

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

// Этот обработчик должен быть определен, и он должен возвращать false,

// иначе сброс объектов будет невозможен,

list.ondragover = function(e) { return false; };

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

// или за границы одного из его дочерних элементов. Если объект действительно

// покидает границы списка (а не границы одного из его элементов),

// то нужно снять подсветку списка,

list.ondragleave = function(e) {

е = е || window.event;

var to = e.relatedTarget;

// Если буксируемый объект покидает границы списка или если количество выходов

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

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

list.className = original_class;

entered = 0;

}

return false;

}

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

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

list.ondrop = function(e) {

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

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

  • Читать дальше
  • 1
  • ...
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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