Drag and drop - element.onmousedown
Сразу говорю, в js я новичок.
Из статьи про Drag and drop: http://javascript.ru/ui/draganddrop element.onmousedown = function(e){ // запомнить переносимый объект // в переменной dragObject dragObject = this // остановить обработку события return false } не работает; если вместо element.onmousedown написать document.onmousedown то всё нормально. Вообще что такое element в данном коде? Ключевое слово или предполагается, что вместо element надо что-то подставить? И где про это можно прочитать? |
Предполагается что это тот елемент (картинка, блок и т.д.) над которым совершаются какие либо действия, в данном случае его собираются перетаскивать.
|
element - это переменная:)
|
Цитата:
document.getElementById('b_2').onmousedown = function(e){ // запомнить переносимый объект // в переменной dragObject dragObject = this // остановить обработку события return false } <img id="b_2" src="torrent.png"> Так тоже пытался, не работает. ---------------------------------------------------------- Цитата:
var dragObject = null; var element = null; element.onmousedown = function(e){ // запомнить переносимый объект // в переменной dragObject dragObject = this // остановить обработку события return false } И так тоже не работает. Где ещё можно прочитать про Drag and drop? |
var element = null; element.onmousedown... Очевидно же, что работать не будет:) Цитата:
|
Знчит element это указатель на картинку, блок и т.д.
var dragObject = null; var element = document.getElementById('b_2'); element.onmousedown = function(e){ // запомнить переносимый объект // в переменной dragObject dragObject = this // остановить обработку события return false } <img id="b_2" src="torrent.png"> Но код всёравно не работает. В общем я так понял, что лучше использовать jQuery ... |
Все там работает. Если хочется разобраться в этом вопросе то продолжай читать мануалы, спрашивать на форуме, а так да JQuery.
<img id="b_2" src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif"> <script> document.getElementById('b_2').onmousedown = function(e){ alert('сработало событие OnMouseDown') } </script> |
Цитата:
var dragObjects = document.getElementById('dragObjects').getElementsByTagName('img') for(var i=0; i<dragObjects.length; i++) { new DragObject(dragObjects[i]) } new DropTarget(document.getElementById('trash')) зачем вы полезли в исходный код? ваш пример будет примерно так звучать на букавках var element = document.getElementById("b_2") new DragObject( element ) не убедил? живой пример : <style> div { padding: 2px; border: 1px red solid; position: absolute; } </style> <div id="b_2"> my el. lol </div> <script src="http://javascript.ru/files/dnd/final/DragObject.js"></script> <script src="http://javascript.ru/files/dnd/final/DropTarget.js"></script> <script src="http://javascript.ru/files/dnd/final/dragMaster.js"></script> <script src="http://javascript.ru/files/dnd/final/helpers.js"></script> <script> var element = document.getElementById("b_2") new DragObject( element ) </script> PS. то, что он возвращается на свою позицию, можно убрать. сейчас спешу, но вечером поправлю пост. удачи :) Цитата:
зачем тогда программировать на JS, если можно индуса в рабство взять? он будет писать код, код будет работать, но расширяемость кода и его качество останется в параше. |
Цитата:
|
На самом деле я никуда не тороплюсь. Думаю лучше знать и библиотеку jquery, и в тоже время, как можно без неё обойтись.
|
Цитата:
|
Цитата:
мне 3 года с лихвой хватило на js & jq. если бы было всё это время свободным (школоло+егэ), я бы был к этому времени гуру. PS. занимался по 2 часа в день минимум + на уроках читал фленагана, когда мог. Цитата:
JQ же используют для ускорения разработки, но отнюдь не для заполнения пробела в знаниях. |
Цитата:
Если делать одно таскаемое окошко, то да может и нормальный. Если интерфейс построен на этих самых окошках, то хуже совета не придумать. DD нужно ещё и качественно убить после использования, иначе память не высвобождается и может быть сожрана вся. Например за день постоянного использования. Что там jquery я не знаю, но вряд ли что-то хорошее. Пример по совету в студию пожалуйста. ps: у меня например DD построена на прототипах, для уменьшения захавывания памятя, но у меня фреймворк, а что нужно здесь не знаю. |
Цитата:
|
Sweet,
Я не вижу примера, а напомнить могу: Цитата:
|
Gozar, просто я скептически отношусь к свеже зарегистрированным пользователям, потому что в большинстве случаев они не собираются изучать js: им нужно конкретное решение как можно быстрее. Предположив, что это такой случай, я предложил человеку не мучать себя, а найти решение на jQ.
|
Часовой пояс GMT +3, время: 03:12. |