Попробуй объявить function but(event){
|
вообще перестала работать....
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); Покажи пожалуйста правильный код работы, что то вообще понять не могу :( |
А как ты подключаешь обработчик к элементу?
|
Вот мой код...
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. Мой код работает в Опере и ИЕ. В ФФ не хочет( |
Пока делеал перетаскивание, возникла еще одна проблема. При перетаскивании, текст который находится под курсором выделяется. Как можно это выделение отменить(запретить), что бы более красиво смотрелось перетаскивание.
|
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;} } |
Спасибо большое, разобрался! У меня еще в коде были ошибки с Event, изменил, теперь работает все отлично!
|
Возникла еще одна проблемка в Опере. Когда идет обработка события onMouseMove(я его на body повесил, что бы более правильнее работало перемещение). В Опере выделяется текст под курсором, в ИЕ и ФФ этого нет. Как можно заблокировать выделение или сбросить? а то некрасиво смотрится :(
|
Вот функция, тока она похоже в Опере не пашет. Я сам оперой не занимаюсь =(
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? }; |
Часовой пояс GMT +3, время: 12:36. |