2010-12-01 3 views
1

Я пытаюсь определить, нажал ли пользователь левую кнопку мыши или правую кнопку + Ctrl, но я не уверен, как это сделать.Могу ли я обнаружить левый клик от мыши? Или Ctrl + правый клик?

Я знаю, что делать просто обнаружить щелчок, я мог бы использовать

<li onClick=\"dosomething()\"> 

Есть ли функция, чтобы сделать

<li onLeftClick=\"dosomething()\"> ? 
+0

Вы имеете в виду правый щелчок – DampeS8N 2010-12-01 16:46:44

+0

Нет, я имею в виду левый клик. По умолчанию onClick ... эквивалентно щелчку правой кнопкой мыши. Поэтому я хочу отфильтровать действие leftClick ... – frames 2010-12-01 16:49:03

ответ

4

С JQuery можно было сделать что-то вроде

$(document).click(function(e) { 
    if (e.button == 0) { 
     // was the left button 
     alert('clicked'); 
    } 
}); 

И с нормальным javascript должна быть какая-то переменная события, доступная в функции onClick

Возможно, это будет также еще помочь я не знаю, если его до сих пор точный

http://www.javascripter.net/faq/leftvsri.htm

1

Вы можете проверить button свойство события.

Что вам определенно не понравится, так это то, что разные браузеры возвращают разные значения: ознакомьтесь с документацией для Firefox и IE. Таким образом, вам также понадобится сделать какой-нибудь браузер.

0

Вы смотрите на неправильную сторону вещей. PHP является серверным, то есть он работает на серверах, а не на тех, кто посещает ваш сайт. Когда кто-то посещает ваш сайт, посетитель (a client) отправляет серверному компьютеру запрос на страницу. Сервер получает этот запрос и отправляет клиенту информацию. Однако, когда клиент нажимает на свою мышь, ничто (по умолчанию) не отправляется на сервер.

Решение зависит от того, что вам нужно сделать. Если вам нужно, чтобы скрипты PHP запускались, когда вы нажимаете что-то, изучите отправку асинхронных запросов через AJAX. Вы можете поместить свои вызовы AJAX в функцию dosomething(). http://www.ibm.com/developerworks/web/library/wa-ajaxintro1.html - хорошее место для начала. Если вы знакомы с jQuery, это очень простой вызов функции: http://api.jquery.com/jQuery.ajax/

Смежные вопросы