Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 24.01.2013
Сообщений: 85

Event.which

12.02.2016, 21:48. Показов 1657. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер , не могу понять как отследить нажатие левой кнопки мыши в IE 11 , пишу так
JavaScript
1
if(event.which==1)
значит нажат, в chrome все работает , а в ie11 which всегда проходит проверку , тоесть он постоянно равен 1
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2016, 21:48
Ответы с готовыми решениями:

event.returnValue is deprecated. Please use the standard event.preventDefault() instead
Выдаёт ошибку event.returnValue is deprecated. Please use the standard event.preventDefault() instead. Если запихать в движок, а как...

event
Я запутался в объекте event. В Opera, Google Chrome, IE window.event - это объект события. В Mozilla же window.event нету. Там event...

Event в JS
Допустим есть кнопка <input id="b2" type="button" name="button2" value="Добавить"/> При клике на кнопку фокусируется событие...

10
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.02.2016, 22:08
Regnareg, на какое событие устанавливаете обработчик? С mousedown проблем нет.
JavaScript
1
2
3
document.addEventListener('mousedown', function(e){
    console.log(e.which);
}, false);
1
1 / 1 / 0
Регистрация: 24.01.2013
Сообщений: 85
12.02.2016, 22:30  [ТС]
Событие
HTML5
1
onmousemove=mousemv(event)
на перемешение курсора

Добавлено через 7 минут
А он наверно в ie11 отправляет "1" то что курсор движется , а на нажатие не чего не отправляет , хотя в chrome нормально работает , может кто знает хитрость для ie11?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.02.2016, 22:54
Цитата Сообщение от Regnareg Посмотреть сообщение
может кто знает хитрость для ie11?
Тогда придётся "хитрости" придумывать для FireFox и Safari, т.к. в них вы тоже не получите результат, как в WebKit-браузерах. Может расскажите суть вашей задачи и попробуем найти ей адекватное решение?
1
1 / 1 / 0
Регистрация: 24.01.2013
Сообщений: 85
12.02.2016, 23:05  [ТС]
Скоро документа при помощи мыши , сейчас пробую сделать через mousedown

Добавлено через 8 минут
Скрол документа
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.02.2016, 23:50
Regnareg, в некоторых браузерах можно было бы использовать свойство event.buttons. По крайней мере, в последних Chrome, Opera, FF и IE10+ работает. Смотрим
JavaScript
1
2
3
document.addEventListener('mousemove', function(e){
    console.log(e.buttons === 1);
}, false);
Но я бы предпочел "флаг". Нажали - флаг = true, отпустили - флаг = false и при перемещении мыши проверяем значение флага.
1
1 / 1 / 0
Регистрация: 24.01.2013
Сообщений: 85
13.02.2016, 00:19  [ТС]
Вот пытаюсь через флаг , когда true запускает setInterval , только у меня не получается передать координаты мыши

Добавлено через 5 минут
Так же пробовал цикл while но он не дает обработать mouseup зависает все )
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
13.02.2016, 00:19
Цитата Сообщение от Regnareg Посмотреть сообщение
не получается передать координаты мыши
Куда передать и зачем setInterval? Может покажите код и сделаете пример в песочнице, чтобы не гадать?
1
1 / 1 / 0
Регистрация: 24.01.2013
Сообщений: 85
13.02.2016, 01:03  [ТС]
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<html>
    <head>
        <title>TestsScroll</title>
        
        <script>
    function fixPageX(e){
    var pageX;
    if(pageX == null && e.clientX!=null){// если нет pageX
    var html = document.documentElement;
    var body = document.body;   
    pageX = e.clientX+(html.scrollLeft || body && body.scrollLeft ||0);
    pageX -= html.clientLeft ||0;       
    }
    return pageX;
    }
    
    function fixPageY(e){
    var html = document.documentElement;
    var body = document.body;   
    e.pageY = e.clientY + (html.scrollTop || body && body.scrollTop || 0);
    e.pageY -= html.clientTop || 0;
    
    return e.pageY; 
    }
    
    var firstX=0;
    var firstY=0;       
    function mouseMove(e){  
    var e;
    var scrolTop= window.pageYOffset || document.body.scrollTop;
    var scrolLeft=window.pageXOffset || document.body.scrollLeft;   
    //**********************************************************//  
    
    //********************************************************//
    var deltaX, deltaY;
    //document.getElementById("input3").value=e.which;
    //if(e.which == 1 || (e.button &1)==true)   
    
    document.getElementById("input6").value=fixPageX(e);    
    if(firstX==0){firstX=fixPageX(e);deltaX=0;}
    
        else{       
            deltaX=fixPageX(e)-firstX;
            window.scrollBy(deltaX,0);          
            firstX=0;deltaX=0;
            }   
        
    if(firstY==0){firstY=fixPageY(e); deltaY=0;}
        else{
            deltaY=fixPageY(e)-firstY;
            window.scrollBy(0,deltaY);          
            firstY=0;deltaY=0;
            }
    
    }   
    //else{ firstX=0;deltaX=0;firstY=0;deltaY=0;}       
    //}
    
    var timerID;
    
    function mouseMove1(){
    moused=0;   console.log("upbut");
    clearInterval(timerID);}
    
    function mouseMove2(){
    moused=1;   console.log("downbut");
    timerID = setInterval(scrolllll,200);
    }   
    
    var scrolllll = function(e)
    { console.log("da"); 
        mouseMove(e);   }
    </script>       
    </head>
    
<body onmousedown="this.value = mouseMove2(event)" onmouseup="this.value = mouseMove1()" style="background-color:gray;">
<input id="input1" onmousemove="this.value = fixPageX(event)+':'+fixPageY(event)" style="height: 82px; width: 1295px;">
<input id="input2" style="height: 82px; width: 1295px;">
<input id="input3">
<input id="input4">
<input id="input5">
<input id="input6"style="height: 1082px; width: 100px;">
 
</body>
</html>
Добавлено через 40 секунд
Мой код только он нерабочий (

Добавлено через 10 минут
setInterval для того чтобы после нажатия постоянно проверялись координаты и если есть сдвиг то скролить документ , при mousedown один раз ведь вызывается вроде )

Добавлено через 10 минут
А в mouseMove поставил проверку не event , а переменную которая заводиться при нажатии все работает )))
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
13.02.2016, 01:54
Regnareg, сейчас уже нет времени разбираться с вашим кодом, тем более, что я не могу до конца уловить то, что вы хотите получить в итоге. Поэтому, как пища для размышления, покажу вам простенький пример. Возможно, что это как-то поможет.
HTML5
1
2
3
4
<div id="slider">
    Ведём по этому блоку с нажатой клавишей мыши
</div>
<div id="block"></div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
var isDown = false,
startPos = 0;
slider.addEventListener('mousedown', function(e){
    startPos = e.pageX - block.offsetLeft;
    isDown = true;
}, false);
document.addEventListener('mouseup', function(){
    isDown = false;
}, false);
slider.addEventListener('mousemove', function(e){
    if(!isDown) {return false;}
    block.style.marginLeft = (e.pageX - startPos) + 'px';
}, false);
1
1 / 1 / 0
Регистрация: 24.01.2013
Сообщений: 85
13.02.2016, 02:10  [ТС]
Спасибо , уже все работает , я делал скрол документа (страницы ) , нажал на лкм и перемотал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2016, 02:10
Помогаю со студенческими работами здесь

Event в функции
Как принять event внутри функции? его обязательно передавать или можно как то принять без передачи? Следующий код выводит undefined ...

Кроссбраузерность event
Здравствуйте, подскажите пожалуйста в чем проблема. Необходимо перехватить код нажатой клавиши, работает только в IE, а в остальных...

событие event
Познакомился с событием event, интересная штука, но работает везде кроме мозилы, к примеру пишу получение координат мыши по х offX =...

event onChange
Доброго времени суток. Подскажите, как правильно сделать событие onChange() в js, если в условии: необходимо сохранить страницу(это...

DOM BOM Event
В чём может быть проблема ? &lt;style&gt; .container{ width:100%; } &lt;/style&gt;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru