Текущий архив: 2005.10.02;
Скачать: CL | DM;
Вниз
html-засада Найти похожие ветки
← →
Nous Mellon_ (2005-09-06 21:32) [0]Засада.
Есть такая простенькая с виду задача. Надеюсь, она не только с виду простенькая, но таковой и является.
Вот html-файлик со ссылкой в теле и маленьким JavaScript скриптом
------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript" >
function Change()
{
idtest.href = "www.some.com";
idtest.innerText = "Установили";
}
</script>
</head>
<body>
<a id="idtest" onclick="Change()">Атрибут href не стоит </a>
</body>
</html>
----
По умолчанию у ссылки idtest нет атрибута href. Есть задача по щелчку установить ему этот атрибут в некое значение,
но не переходить по ссылке. То есть как бы щелчком ее активировать, а следующим уже перейти. А он, зараза, переходит
на эту страницу сразу без всяких предупреждений. Какой бы совершить финт ушами, чтобы атрибут установить, а по ссылке ходить только
после слудющего щелчка?
← →
Gero © (2005-09-06 21:38) [1]1. Попробуй дописать return false в Change.
2. В ссылке всегда должен присутствовать атрибут href.
3. Зачем для этого использовать именно <A>?
← →
palva © (2005-09-06 21:54) [2]Я бы сделал так:
function Change() {
if(idtest.href=="") {
idtest.href = "http://www.mk.ru";
idtest.innerText = "Установили";
return false;
} else {
return true;
}
}
...
<a id="idtest" onclick="return Change()">Атрибут href не стоит </a>
← →
Nous Mellon_ (2005-09-07 09:22) [3]Спасибо Gero и palva. Помогли эти две строки
1. Попробуй дописать return false в Change.
onclick="returnChange()">
На вопросы отвечу:
> 2. В ссылке всегда должен присутствовать атрибут href.
Насколько я знаю, если атрибут HREF не стоит, то ссылка просто якорь. Так?
> 3. Зачем для этого использовать именно <A>?
А что еще можно? Чтобы было не очень коряво
← →
Alexander Panov © (2005-09-07 11:50) [4]Nous Mellon_ (07.09.05 9:22) [3]
А что еще можно?
Да хотя бы <font>
Можно даже и свой атрибут определить в стилях.
← →
purvainais (2005-09-07 13:27) [5]>>Да хотя бы <font>
тег <font> устарел и нерекомендуется к использованию HTML. см. спецификацию HTML 4.011 http://www.w3.org/TR/html4/
← →
Alexander Panov © (2005-09-07 14:08) [6]purvainais (07.09.05 13:27) [5]
тег <font> устарел и нерекомендуется к использованию HTML. см. спецификацию HTML 4.011 http://www.w3.org/TR/html4/
Это никкого не интересует. Здесь тэг не для того используется.
Можешь, если страшно использовать <font>, вообще определить в стилях:
MM {}
А в HTML:
<MM onclick="MyFunc()">Test</MM>
Но ведь MM не описан в W3C, не так-ли?
← →
purvainais (2005-09-07 14:35) [7]Напомню, что речь идёт о HTML 4.01, а не о XML, и документ, который будет содержать нестандартные тэги, будет невалидным HTML.
>Nous Mellon_ (06.09.05 21:32)
><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Насчёт определeня в стилях, то новые теги определяются вовсе не в стилях, а в DTD или Schema.
← →
Gero © (2005-09-07 18:29) [8]
Nous Mellon_ (07.09.05 09:22)
> Насколько я знаю, если атрибут HREF не стоит, то ссылка
> просто якорь. Так?
В принципе, да. Возможно я неправ.
> А что еще можно? Чтобы было не очень коряво
<span>.
Делаешь два CSS-класса, например mylink_normal, mylink_click. Задаешь нужные свойства для каждого из них.
Изначально выставляешь class = "mylink_normal".
Потом в onclick просто пишешь idtest.class = "mylink_click".
Alexander Panov © (07.09.05 14:08)
> MM {}
>
> А в HTML:
> <MM onclick="MyFunc()">Test</MM>
Так нельзя. purvainais абсолютно прав.
← →
Alexander Panov © (2005-09-07 18:40) [9]Gero © (07.09.05 18:29) [8]
Так нельзя.
Почему? Работает ведь.
← →
Gero © (2005-09-07 18:44) [10]
> Почему? Работает ведь.
Потому что есть такая вещь, как спецификация. И ее нужно соблюдать.
← →
Alexander Panov © (2005-09-07 18:51) [11]Gero © (07.09.05 18:44) [10]
Потому что есть такая вещь, как спецификация. И ее нужно соблюдать.
А разве определение стиля MM {...} не входит в спецификацию?
← →
Gero © (2005-09-07 19:02) [12]
> Alexander Panov © (07.09.05 18:51)
Нет. См. [7] пост.
А если какой-то браузер позволяет в таблице стилей обьявлять новые тэги, то это его проблемы.
← →
Nous Mellon_ (2005-09-07 21:45) [13]
> <span>.
> Делаешь два CSS-класса, например mylink_normal, mylink_click.
> Задаешь нужные свойства для каждого из них.
> Изначально выставляешь class = "mylink_normal".
> Потом в onclick просто пишешь idtest.class = "mylink_click".
Спасибо, принято
Появился еще вопрос -- не хочется заводить новую ветвь.
Совсем забыл где включается и выклоючается поддержка JS в стандартном IE?
← →
begin...end © (2005-09-07 21:54) [14]> Nous Mellon_ (07.09.05 21:45) [13]
> Совсем забыл где включается и выклоючается поддержка JS
> в стандартном IE?
Сервис -> Свойства обозревателя -> Безопасность -> Другой... (для каждой зоны).
← →
Nous Mellon_ (2005-09-08 10:27) [15]
> Сервис -> Свойства обозревателя -> Безопасность -> Другой...
> (для каждой зоны).
Спасибо!
Страницы: 1 вся ветка
Текущий архив: 2005.10.02;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.045 c