2012-04-09 1 views
0

Попытка обнаружить левой кнопкой мыши против правой кнопкой мыши (без использования JQuery!) И у меня есть следующий кодЧто не так с моим кодом мыши?

Javascript:

function cclick(e) { 
    if (e.button == 1) {alert("hgbdygwea");} 
    else { 
     alert(e.button); 
    } 
} 

HTML:

<a onmouseup="cclick()" ...> <img .../> </a> <!-- also tried cclick instead of cclick() --> 

с помощью Internet Explorer 9

+0

В чем проблема? Не удается ли обнаружить событие mouseup? –

+0

он не предупреждает, и когда я заменяю cclick() на cclick в html, он говорит: .button undefined – Oztaco

+5

Попробуйте 'onmouseup =" cclick (event) "'. – nnnnnn

ответ

3

Вы должны передать объект события вашей функции:

onmouseup="cclick(event);" 
0

После другой подход

function cclick() { 
    var e = window.event; 
    if (e.button == 1) {alert("hgbdygwea");} 
    else { 
     alert(e.button); 
    } 
} 

И вызовите функцию, как показано ниже, не передавая event.

<a onmouseup="cclick()" ...> <img .../> </a> 
+0

Это работает только в браузерах Microsoft. У других браузеров нет окна .event – Eric

+1

Уверен, как он уже упоминал, ему нужно запустить его в «Internet Explorer 9» – prageeth

0

Я думаю, что этот код должен сработать для вас. e.button недействителен для всех браузеров (и я очистил код).

function cclick(e) { 
    "use strict"; 
    e || window.event; 
    if (e.which) { 
     alert((e.which === 1) ? "hgbdygwea" : e.which); 
    } else { 
     alert((e.button === 1) ? "hgbdygwea" : e.button); 
    } 
} 

<a onmouseup="cclick(event)" ...> <img .../> </a> <!-- also tried cclick instead of cclick() --> 
+0

, для которого браузеру e.which for? Я слышал, что это было для netscape, поэтому я не беспокоился об этом, так как он больше не популярен? – Oztaco