Войти

Показать полную графическую версию : Мои ламерские вопросы про Javascript. Заходите!


Newb
12-11-2006, 16:38
Работает:

<html>
<head> <title> title </title> </head>
<body>
<script> function f() { alert('я крут'); } </script>
<h1 onclick='f()'> text </h1>
</body>
</html>

Не работает:

<html>
<head> <title> title </title> </head>
<body>
<h1 onclick='alert('без точки с запятой тоже не работает');'> text </h1>
</body>
</html>

Тоже не работает:

<html>
<head> <title> title </title> </head>
<body>
<script> function f.onclick() { alert('я крут'); } </script>
<h1 id='f'> если писать id='f()', то тоже не работает </h1>
</body>
</html>


В моей книжке написано, что второй и третий варианты тоже должны работать.

У меня Op_9.02 и IE_7.

vadimiron
12-11-2006, 17:15
А если так?
<h1 onclick="alert('без точки с запятой тоже не работает');"> text </h1>

Newb
12-11-2006, 18:16
Второе с двойными кавычками заработало, спасибо, а третье по-прежнему нет.

mar
12-11-2006, 19:36
Newb
в 3 случае просто неправильный код. Вы сразу в определение функции вставили ее вызов. Определение и вызов должны жить в разных местах, как это и сделано в первом варианте.
Имеем:

<script>
function f() {
alert('я крут');
}
</script>


дальше создаем объект, поддерживающий метод onClick (т.е. что-то по щелчку) и по onClick вызываем функцию:
<h1 onclick="f();"> text </h1>

Newb
12-11-2006, 20:28
mar

Нет, в книге написан именно такой способ и потом еще ни один пример с ним встречается.

mar
12-11-2006, 20:34
в книжках встречаются опечатки, или там вообще что-то другое, тогда надо смотреть контекст.
Я попыталась объяснить логику объявления и вызова функций - попробуй соотнести это с третьим примером (таким, каким ты его дал тут)




© OSzone.net 2001-2012