Как на java script поймать ctrl + enter ?

Статус
В этой теме нельзя размещать новые ответы.

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
292
Как на java script поймать комбинацию клавиш ctrl + enter ?

сейчас делаю onkeydown="catchKey(event); // функция, которая запускает слежение за клавишами.
function catchKey(e){
if ((e.ctrlKey == true) && (e.keyCode == 13)) // ловим нажатие ctrl + enter
{var selectedText = get_txt();}
else if (e.keyCode==10||(e.keyCode==13&&e.ctrlKey))// ловим нажатие ctrl + enter
{var selectedText = get_txt(); }
else if ((e.which==10&&e.modifiers==2)||(e.keyCode==0&&e.charCode==106&&e.ctrlKey)||(e.keyCode==13&&e.ctrlKey))// ловим нажатие ctrl + enter
{var selectedText = get_txt();}
else if (e.ctrlKey&&((e.keyCode==10)||(e.keyCode==13)))// ловим нажатие ctrl + enter
{var selectedText = get_txt();}
else if((e.ctrlKey) && ((e.keyCode == 0xA)||(e.keyCode == 0xD))) // ловим нажатие ctrl + enter
{var selectedText = get_txt(); }
else if (e.keyCode==10 || (e.ctrlKey && e.keyCode==13))// ловим нажатие ctrl + enter
{var selectedText = get_txt();}
}

Функция работает в эксплорере и в опере, в файрфоксе ни в какую.
 
HTML:
<script typee="text/javascript">
window.captureEvents(Event.KEYPRESS);

window.onkeypress = pressed;

function pressed(e) {
	key = e.keyCode || e.which;
	if(e.ctrlKey && (key == 13))
		alert('Нажатие Ctrl+Enter');
}
</script>
 
Наконец - то руки дошли до этого скрипта. Попробовал. Однако эксплорер 7 ругается на первую строку на слово Event.KEY...
Заменил его на event, стал ругаться на вторую строчку.
window.onkeypress = pressed;
Файрфокс пашет, выдает alert, однако в файрфоксе не появляется всплывающий div.

Делаю так
Код:
<noindex>
<div id="hiddenBlock" class="block" style="[B]position:fixed;background-color:#FFF; display:none; border:1px solid #000;padding:10px;[/B]">
<b id="loadBar1" align="center" style="display:none">		
<strong>Отправка данных...</strong>	<br />
<img src="comments/img/loading.gif" alt="Загрузка..." title="Отправка данных" />
</b>
<form action="index.php" method="post" name="dsaf" target="_self">
<table width="100%" height="150" align="center" cellspacing="1" cellpadding="1" border="0">
  <tr>
    <td><div id="secsess"></div></td>
  </tr>
  <tr>
    <td><strong>Выделенная ошибка:</strong></td>
  </tr>
  <tr>
    <td align="center">   	
        <input name="txt_for_replace" id="txt_for_replace" type="text" value="" style="width:99%" />
        <input name="comments_from" id="comments_from" type="hidden" value="" /> 
     </td>
  </tr>
  <tr>
    <td><strong>Ваши комментарии (если необходимы)</strong></td>
  </tr>
  <tr>
    <td align="center">    
        <input name="comment_users"  id="comment_users" type="text" value="" style="width:99%" />
    </td>
  </tr>
  <tr>
    <td align="right" valign="bottom">    
		<input name="sdlkfj" type="button" value="Закрыть" onclick="close_all();" />	
        <input name="sdlkfj" type="submit" value="Отправить" onclick="javascript: send_data(); return false;" />
    </td>
  </tr>  
</table>
</form>
</div>
</noindex>
При нажатии на ctrl+enter
запускается функция, которая задает для всплывающего div'a следующие параметры
Код:
//*******	
function popUp() {
	document.all["hiddenBlock"].style.position='fixed';
	document.all["hiddenBlock"].style.overflow='auto';
	document.all["hiddenBlock"].style.width='400px';
	document.all["hiddenBlock"].style.height='200px';	
	document.all["hiddenBlock"].style.left='50%';	
	document.all["hiddenBlock"].style.top='50%';
	document.all["hiddenBlock"].style.opacity='-200px';	
	document.all["hiddenBlock"].style.display='block';
	document.all["hiddenBlock"].style.zIndex='10';
}
//***********
Где что подправить ? чтобы получить кросс-браузерность?

Тут, наверное больше проблема с вспылающим div'om
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху