Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.10.2007, 21:10
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Попробуй объявить function but(event){
Ответить с цитированием
  #12 (permalink)  
Старый 02.10.2007, 00:18
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

вообще перестала работать....

function pres_but(event){
if (event.which == null)
/* IE case */
button= (event.button < 2) ? "LEFT" :
((event.button == 4) ? "MIDDLE" : "RIGHT");
else
/* All others */
button= (event.which < 2) ? "LEFT" :
((event.which == 2) ? "MIDDLE" : "RIGHT");
return button;
}

//оба не работают(
pres_but();
pres_but(document.event);

Покажи пожалуйста правильный код работы, что то вообще понять не могу
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #13 (permalink)  
Старый 02.10.2007, 01:45
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

А как ты подключаешь обработчик к элементу?
Ответить с цитированием
  #14 (permalink)  
Старый 02.10.2007, 11:13
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

Вот мой код...

function pres_but(){
if (event.which == null)
button= (event.button < 2) ? "LEFT" :
((event.button == 4) ? "MIDDLE" : "RIGHT");
else
button= (event.which < 2) ? "LEFT" :
((event.which == 2) ? "MIDDLE" : "RIGHT");
return button;
}

function what_but(){
if (pres_but()=="LEFT") {drag_pan=1;}
}

<td height='24' class='close_pan' onMouseMove='move_pan()' onMouseDown='what_but()' onMouseUp='def_pan()'>

//с function pres_but(event) вообще не работает(я неверно похоже объявляю).
p.s. Мой код работает в Опере и ИЕ. В ФФ не хочет(
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #15 (permalink)  
Старый 02.10.2007, 11:57
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

Пока делеал перетаскивание, возникла еще одна проблема. При перетаскивании, текст который находится под курсором выделяется. Как можно это выделение отменить(запретить), что бы более красиво смотрелось перетаскивание.
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #16 (permalink)  
Старый 02.10.2007, 12:24
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

onMouseMove='move_pan()' onMouseDown='what_but()' onMouseUp='def_pan()'>


вот это замени на

onMouseMove='move_pan(event)' onMouseDown='what_but(event)' onMouseUp='def_pan(event)'>


и вот это

function what_but(event){
   if (pres_but(event)=="LEFT") {drag_pan=1;}
}
Ответить с цитированием
  #17 (permalink)  
Старый 02.10.2007, 18:46
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

Спасибо большое, разобрался! У меня еще в коде были ошибки с Event, изменил, теперь работает все отлично!
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #18 (permalink)  
Старый 02.10.2007, 22:37
Аватар для Phoenix
Профессор
Отправить личное сообщение для Phoenix Посмотреть профиль Найти все сообщения от Phoenix
 
Регистрация: 24.09.2007
Сообщений: 165

Возникла еще одна проблемка в Опере. Когда идет обработка события onMouseMove(я его на body повесил, что бы более правильнее работало перемещение). В Опере выделяется текст под курсором, в ИЕ и ФФ этого нет. Как можно заблокировать выделение или сбросить? а то некрасиво смотрится
__________________
После каждой девятки все снова с нуля,
Все снова с нуля, но не сначала...
Ответить с цитированием
  #19 (permalink)  
Старый 03.10.2007, 18:57
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Вот функция, тока она похоже в Опере не пашет. Я сам оперой не занимаюсь =(
setSelectable = function(/*Node|String*/node, /*Boolean*/selectable){
                // summary: enable or disable selection on a node
                node = dojo.byId(node);
                if(dojo.isMozilla){
                        node.style.MozUserSelect = (selectable) ? "" : "none";
                }else if(dojo.isKhtml){
                        node.style.KhtmlUserSelect = (selectable) ? "auto" : "none";
                }else if(dojo.isIE){
                        node.unselectable = (selectable) ? "" : "on";
                        dojo.query("*", node).forEach(function(descendant){
                                descendant.unselectable = (selectable) ? "" : "on";
                        });
                }
                //FIXME: else?  Opera?
        };
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FireFox: onmouseover не работает при зажатой кнопке мыши no. Общие вопросы Javascript 4 19.08.2008 13:43
Определить координаты объекта в таблице ner2000 Events/DOM/Window 2 14.06.2008 01:56