Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #111 (permalink)  
Старый 22.02.2011, 19:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Да не, не глупый. Я вот честно говоря не знаю почему в фф this у body возвращает window.)
<div onclick="this.firstChild.nodeValue = 'text';alert(this)">////
</div>
Ответить с цитированием
  #112 (permalink)  
Старый 23.02.2011, 12:09
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

потому что обработчик на window ставится на самом деле, ff такой ff
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body onclick="alert([window.onclick,document.body.onclick]);">
</body>
</html>

Последний раз редактировалось x-yuri, 23.02.2011 в 14:11.
Ответить с цитированием
  #113 (permalink)  
Старый 23.02.2011, 13:34
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

Странно.. в чем тогда тут соль?

Этот код тупит только в ff. Вернее возвращает только undefined.
<body onclick="alert(document.body.onclick);">
</body>


Почему здесь событие работает только в ff?
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body onclick="alert(document.body.onclick);">
</body>
</html>

Последний раз редактировалось UpJump, 23.02.2011 в 14:11.
Ответить с цитированием
  #114 (permalink)  
Старый 23.02.2011, 14:23
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

лучше вот на таком коде экспериментировать
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body onclick="alert([window.onclick,document.body.onclick]);" style="height: 50px; border: 1px solid red;">
</body>
</html>

в ff обработчик на самом деле назначается window, хоть и прописан для body. Видимо он считает, раз ты такое делаешь, значит хочешь отлавливать клики по всей странице. Похоже на то, что это наследие прошлого
Ответить с цитированием
  #115 (permalink)  
Старый 24.02.2011, 00:20
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

еще вопрос.
<body onclick="f();" style="height: 50px; width:100px; border: solid black;"></body>
<script>
function f(){
	var str = document.body.style.width;
	str = '50px';
	alert(str);
}
</script>

Почему не срабатывает? alert пишет что str == 50px и все должно быть тип-топ.

Вот другой вариант. Напрямую и все ок.
<body onclick="f();" style="height: 50px; width:100px; border: solid black;"></body>
<script>
function f(){
	document.body.style.width = '50px';
}
</script>
Ответить с цитированием
  #116 (permalink)  
Старый 24.02.2011, 00:57
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

А с какой радости изменение str должно повлечь изменение document.body.style.width? В JS только объекты копируются по ссылке, примитивы - по значению.
Ответить с цитированием
  #117 (permalink)  
Старый 24.02.2011, 01:21
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

ясно. спс
Ответить с цитированием
  #118 (permalink)  
Старый 07.03.2011, 18:44
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

всем привет! назрел вопрос.
<style>
div {
	position:absolute;
	width:100px;
	height:100px;
	background: red;
}
</style>

<script>
function f(){
	var div = document.getElementsByTagName('div')[0];
	div.style.opacity = 0;
	setInterval(function(){div.style.opacity += .1;} , 10);
}
</script>

<body onclick='f();'>
<div></div>
</body>


opacity не увеличивается более чем на 0.1. Вот собсна и не пойму где я заглох?
Ответить с цитированием
  #119 (permalink)  
Старый 07.03.2011, 19:19
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Вообще, стили - это строки. В итоге opacity получается "0.1.1", это не корректно, поэтому opacity остается "0.1"
Ответить с цитированием
  #120 (permalink)  
Старый 07.03.2011, 19:36
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

В точку! не подумал, а стоило бы проверить. СПАСИБО!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск