>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Отлов Right\Left click по кнопке на toolbar http://forum.mozilla-russia.org/viewtopic.php?id=68262 |
Medison1 > 08-09-2015 17:02:11 |
Добрый день. В overlay.xul создаю кнопку на панеле. Выделить код Код:<toolbarpalette id="BrowserToolbarPalette"> <toolbarbutton id="Test_button" label="Test_B" tooltiptext="Test_click" oncommand="MakeTest()" class="toolbarbutton-1 chromeclass-toolbar-additional"> </toolbarbutton> </toolbarpalette> И все отлично работает. Но вот задумал я сделать вызов разных функций в зависимости от ЛКМ или ПКМ. Выделить код Код:var testbt = document.getElementById("Test_button") testbt.addEventListener("mousedown",function(e) {console.log(e); // you can inspect the click event if (e.which === 3) {alert("right click");} }); Но как не прикручиваю его в файл overlay - не получается... Кнопка вообще не выводится на панель. |
bunda1 > 09-09-2015 18:03:34 |
Medison1 пишет Разве не e.button тут нужно использовать |
Medison1 > 10-09-2015 16:51:02 |
Спасибо, получилось. |
Medison1 > 10-09-2015 17:48:15 |
Немного поспешил... Выделить код Код:function MakeChoice (event) { //Функция вызывается из оверлея по команде oncommand="MakeChoice()" event.preventDefault(); event.stopPropagation(); // event.type == "mouseup" && closeMenus(event.target); // пробовал и так if (event.button === 0) {Alert("ЛКМ");} //Left else if (event.button === 2) {Alert("ПКМ");} //Right } var testbt = document.getElementById("Test_button") testbt.addEventListener("mousedown", MakeChoice); }, |
bunda1 > 10-09-2015 18:03:50 |
Medison1 пишет
Может: или |
Medison1 > 11-09-2015 13:59:24 |
bunda1 спасибо за помощь, но не помогло. В ходе экспериментов по подстановке в разные места функций выяснилось, что: |
Medison1 > 12-09-2015 16:33:04 |
Странно, но сейчас срабатывает без каких либо event.preventDefault(); и event.stopPropagation(); Можете подсказать, как можно повесить его раньше, чтобы уже первый клик по кнопке срабатывал? |