Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / onkeyDown в срабатывает только в IE / 5 сообщений из 5, страница 1 из 1
28.10.2013, 17:21
    #38443913
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
onkeyDown в срабатывает только в IE
onkeyDown в срабатывает только в IE
Что я неправильно написал?
Полный текст странички
За корявое содержимое извиняюсь, только учусь.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>
 
<a href="#openModal"><img onClick="ClickImg(this)" src="http://cs7002.vk.me/c540106/v540106230/1649a/rDOSGx14PDE.jpg" width="300"  alt=""></a>	 

<style type="text/css">
 .modalDialog {
	    position: fixed;
	    font-family: Arial, Helvetica, sans-serif;
	    top: 0;
	    right: 0;
	    bottom: 0;
	    left: 0;
	    background: rgba(0,0,0,0.8);
	    z-index: 99999;
	    -webkit-transition: opacity 400ms ease-in;
	    -moz-transition: opacity 400ms ease-in;
	    transition: opacity 400ms ease-in;
	    display: none;
	    pointer-events: none;
	}

.modalDialog:target {
	display: block;
	pointer-events: auto;
}

.modalDialog img { display: block }

.modalDialog > div {
	width: 800px;
	position: relative;
	margin: 10% auto;
	padding: 10px 10px 10px 10px;
	border-radius: 1px;
	background: green;	
}
.close {
	background: #606060;
	color: #CCCCCC;
	line-height: 17px;
	position: absolute;
	right: -10px;
	text-align: center;
	top: -10px;
	width: 17px;
	text-decoration: none;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	-moz-box-shadow: 1px 1px 3px #111;
	-webkit-box-shadow: 1px 1px 3px #111;
	box-shadow: 1px 1px 3px #111;
}

.close:hover { background: #707070;}

</style>

 <script>
   window.onload = function() {
   obj=document.getElementById("openModal");
   obj.style.display = "none";
   }
   
</script> 

<script>
function ClickImg(image)
{
obj_img=document.getElementById("FullImg");
obj_img.src = image.src;
obj=document.getElementById("openModal");
obj.style.display = "block";
}

function CloseFullImgEsc(e)
{
  obj=document.getElementById("Close");
  alert(e.keyCode)
  obj.click();
  return false;
}

function CloseFullImg()
{
obj=document.getElementById("openModal");
obj.style.display = "none";
}
</script>


	<div id="openModal" class="modalDialog">
	    <div onKeyDown="CloseFullImgEsc(window.event)"><a id = "Close" href="javascript:CloseFullImg()" title="Закрыть" class="close">x</a>
		     <img id="FullImg" src="" width="800"  alt="">
	    </div>
	</div>
</html>
...
Рейтинг: 0 / 0
28.10.2013, 17:24
    #38443918
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
onkeyDown в срабатывает только в IE
Потому что только в ie есть window.event. Вот так правильно:

Код: javascript
1.
2.
3.
4.
5.
onKeyDown="CloseFullImgEsc(event)"

function CloseFullImgEsc(e)
{
    e = e ? e : window.event;
...
Рейтинг: 0 / 0
28.10.2013, 17:31
    #38443927
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
onkeyDown в срабатывает только в IE
Antonariy, а так я тоже пробовал. Суть в том. что событие не вызывается в принципе
...
Рейтинг: 0 / 0
28.10.2013, 17:40
    #38443944
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
onkeyDown в срабатывает только в IE
Только в ie можно ставить фокус на любые элементы, даже не способные иметь фокуса. В IE же тоже не сразу срабатывает, а только после тычка в картинку.
...
Рейтинг: 0 / 0
28.10.2013, 21:17
    #38444167
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
onkeyDown в срабатывает только в IE
Antonariy, понятно.. Тогда на каком уровне надо прописывать это событие?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / onkeyDown в срабатывает только в IE / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]