Для отправки сообщений в сети принято использовать сочетание клавиш Crtl Enter, а для навигации по страницам — Ctrl и стрелочки. Эта статья рассказывает о том, как сделать это на своем сайте. Отправка формы по Ctrl Enter Код и пример использования с формой. Code <script type="text/javascript"> function ctrlEnter(event, formElem) { if((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD))) { formElem.submit.click(); } } </script> <form action="send.php" method="post" onkeypress="ctrlEnter(event, this);">...</form>
Навигация с помощью стрелок Скрипт не работает в Opera, т. к. такое сочетание клавиш уже использовано в этом браузере. Code <script type="text/javascript"> document.onkeydown = NavigateThrough; function NavigateThrough (event) { if (!document.getElementById) return; if (window.event) event = window.event; if (event.ctrlKey) { var link = null; var href = null; switch (event.keyCode ? event.keyCode : event.which ? event.which : null) { case 0x25: link = document.getElementById ('previous_page'); break; case 0x27: link = document.getElementById ('next_page'); break; case 0x26: link = document.getElementById ('up_page'); break; case 0x28: link = document.getElementById ('down_page'); break; case 0x24: link = document.getElementById ('home_page'); break; } if (link) document.location = link.href; } } </script> <a href="index.html" id="home_page">на главную</a> <a href="prev-page.html" id="previous_page">предыдущая</a> <a href="next-page.html" id="next_page">следующая</a> <a href="down-page.html" id="down_page">уровнем ниже</a> <a href="up-page.html" id="up_page">уровнем выше</a> Получение объекта по id От стандартного document.getElementById отличается только длиной. Code function $(elemid) { return document.getElementById(elemid); } Получение объектов по имени класса Первый аргумент — имя класса, второй — имя тега (не обязательный), третий — внутри какого объекта искать (не обязательный). Code function $$(strClass, strTag, objContElm) { strTag = strTag || "*"; objContElm = objContElm || document; var objColl = objContElm.getElementsByTagName(strTag); if (!objColl.length && strTag == "*" && objContElm.all) objColl = objContElm.all; var arr = new Array(); var delim = strClass.indexOf('|') != -1 ? '|' : ' '; var arrClass = strClass.split(delim); for (var i = 0, j = objColl.length; i < j; i++) { var arrObjClass = objColl[i].className.split(' '); if (delim == ' ' && arrClass.length > arrObjClass.length) continue; var c = 0; comparisonLoop: for (var k = 0, l = arrObjClass.length; k < l; k++) { for (var m = 0, n = arrClass.length; m < n; m++) { if (arrClass[m] == arrObjClass[k]) c++; if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) { arr.push(objColl[i]); break comparisonLoop; } } } } return arr; } Автор статьи: Павел Марковнин
|