Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Атрибуты обработчиков событий 
:(
    Опции темы
Aliance
Дата 20.7.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Хотелось бы подискутировать на следующие темы:

• Пишете ли Вы атрибуты обработчиков событий в нижнем регистре (onclick) или же вы извращенец (onClick)
• Вставляете ли Вы в атрибуты обработчиков событий не нужное слово псевдопротокола javascript: (onclick="javascript: alert('test')") или же не используете лишнего (onclick="alert('test')").

Хочу слышать Ваши мнения и доводы потому, как Вы поступаете и почему.
PM MAIL WWW ICQ Skype   Вверх
griker
Дата 20.7.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MDMA
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 14.7.2006
Где: Tallinn

Репутация: 1
Всего: 8



  • Всегда пишу OnClick, так как на мой взгял это выглядит покрасивее, учитывая то что on и Click это два слова, мне хочется хоть как-то их разделить... Просто мне так приятней будет смотреть на код с подобными вещами
  • Никогда не вставляю ничего ненужного... Люблю керректность   smile



--------------------
I don't respect police
PM MAIL   Вверх
Mymik
Дата 20.7.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 11
Всего: 78



Цитата(Aliance @  20.7.2007,  13:45 Найти цитируемый пост)
Пишете ли Вы атрибуты обработчиков событий в нижнем регистре (onclick) или же вы извращенец (onClick)

пишу в нижнем регистре, потому как в имена функций регистрозависимые, и когда создаешь динамически элементы, то пишутся прототипы событий пишутся с в нижнем регистре

Цитата(Aliance @  20.7.2007,  13:45 Найти цитируемый пост)
Вставляете ли Вы в атрибуты обработчиков событий не нужное слово псевдопротокола javascript: (onclick="javascript: alert('test')") или же не используете лишнего (onclick="alert('test')").

Нет не использую, потому как этот псевдокласс необходим только для href распознания, что дальше идет javascript. Тем более лишнии символы как обычно лень писать. :о)


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Aliance
Дата 20.7.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Mymik, во всем +1. При чем не понимаю абсолютно людей, поступающих по-другому.
PM MAIL WWW ICQ Skype   Вверх
Burrr
Дата 20.7.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



I) onclick пишу в нижнем регистре в силу того, что все атрибуты в HTML-коде привык писать так и не вижу смысла переучиваться
II) javascript: указывается в хрефе, в атрибутах, соот-их событий этого делать просто не нужно.

Если рассмотреть конкретный случай и выбрать из 2-х вариантов:
Код
1) <a href="javascript:test()">Link text</a>
2) <a href="url.html" onclick="test(); return false;">Link text</a>

, то я выберу вариант - 2, т.к. можно сделать интерфейс для юзеров с отключенным JavaScript.

А в идеале <a href="url.html" onclick="return test();">Link text</a>, чтоб функция возвращала ноль...


--------------------
PM MAIL ICQ   Вверх
Aliance
Дата 20.7.2007, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Burrr, тоже +1.
PM MAIL WWW ICQ Skype   Вверх
vasac
Дата 20.7.2007, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Цитата(griker @  20.7.2007,  16:55 Найти цитируемый пост)
Всегда пишу OnClick, так как на мой взгял это выглядит покрасивее,

Цитата(griker @  20.7.2007,  16:55 Найти цитируемый пост)
Люблю керректност

Почитайте насчет корректности регистра атрибутов.
PM WWW   Вверх
griker
Дата 20.7.2007, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MDMA
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 14.7.2006
Где: Tallinn

Репутация: 1
Всего: 8



vasac, спасибо... Я просто говорил немного про другое... Разве OnClick таким образом писать некорректно?

Это сообщение отредактировал(а) griker - 20.7.2007, 22:28


--------------------
I don't respect police
PM MAIL   Вверх
BuShaRt
Дата 20.7.2007, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Я в JS не силен, но попробуйте доказать свою точку зрения по поводу onClick в ветке верстальшиков, они, фанаты XHTML вас на части порвут за нарушение стандартов... я с ними от части соглашусь, переменные и функцции следует писать именно так, потому, что читабельней... Я давно ушел от того, что пишу код лишь бы побыстрее, у меня проекты пишуться по несколько дней и недель, мне не скорость нужна, а постоянный котроль всего кода без лишних усилий, тогда моя работа только будет приносить успех

Добавлено через 1 минуту и 53 секунды
Корректно пишеться не OnClick и, не onclick, а onClick  smile 
PM MAIL   Вверх
Zeroglif
Дата 21.7.2007, 00:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



1) Регистр HTML-y по-барабану, пиши хоть OnClIcK, но:

- есть регистрозависимый XHTML, с которым нужно считаться;
- есть регистрозависимый  ECMAScript/J(ava)Script, на котором нужно набивать руку;
- есть ньюбы, которые переносят "onClick" в скрипты и начинают бегать по кругу, их стоит пожалеть;
- есть (не сомневаюсь) где-то во вселенной движки, которые гипотетически могут сбойнуть на "рЕгИсТре", не стоит их дразнить;
- есть W3C аttribute definitions, может кто это и прочитает;

2) Протокол javascript в предложенном примере - вещь совершенно бессмысленная и вредная.


PM MAIL WWW   Вверх
Mymik
Дата 21.7.2007, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 11
Всего: 78



пару дней назад в другой ветке форума увидел пост одного человека и тот спрашивал, как писать обработчики событий в html. Я немного ответил ему, но он еще и спросил, мол а если ему вдруг по пьяни придет в голову писать на VB. Ну а я в VB вообще дуб-дубом, но пошел искать в интернете и там вот я ничего путного не нашел :о( точнее вообще не нашел книжек по VB для браузеров.
Ну да, я понимаю что такой отличный браузер как FireFox не работает с таким АЦтоем как Vb, ну а если вернуться к IE, то как вообще происходит парсинг клиентского языка ??? Ведь там тоже должен быть какой-то vbscript псевдокласс. Может быть именно из-за этого пошли эти ненужные символы "javascript:" в обработчиках событий ???


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Zeroglif
Дата 21.7.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Цитата(Mymik @  21.7.2007,  10:11 Найти цитируемый пост)
отличный браузер как FireFox не работает с таким АЦтоем как Vb

не такой уж и отличный браузер... не такой уж и АЦтой...  smile

Цитата(Mymik @  21.7.2007,  10:11 Найти цитируемый пост)
Может быть именно из-за этого пошли эти ненужные символы "javascript:" в обработчиках событий

Отчасти и из-за этого. IE включает тот скриптовый язык по дефолту, который ему попался в первом же скриптовом блоке, если на странице скриптовый коктейль, и первым стоит vbscript, то все javascript-овые обработчики в тегах отваливаются:

Код

<html>
    <head>
        <script type="text/vbscript"></script>
    </head>
    <body>
        <a href="#" onclick="alert('test');">onclick=alert();</a><br>
        <a href="#" onclick="javascript:alert('test');">javascript:onclick=alert()</a>
    </body>
</html>


Одним из вариантов устранения этой проблемы в IE стала возможность прописывать в таких обработчиках т.н. индикатор протокола javascript (сами так назвали), тогда движок изолирует код от дефолтного скриптового языка, и работает jscript.dll. Это решение в годы некоторой гегемонии JScript растиражировали копипастеры, и понеслось. Тем более, что при отсутствии vbscript ничего страшного не происходит, только масло масляное... Браузеры, в которых таких проблем нет, теоретически должны трактовать javascript: в обработчике как label (ECMAScript 12.12), конструкция в этом контексте совершенно бессмысленная, но при этом не вызывающая ошибку:

Код

<a href="#" onclick="javascript:while(1){alert(break javascript;};alert('out-of-loop');">test label</a>


PM MAIL WWW   Вверх
Aliance
Дата 26.7.2007, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(BuShaRt @  20.7.2007,  23:31 Найти цитируемый пост)
Корректно пишеться не OnClick и, не onclick, а onClick  smile

Кто сказал?
PM MAIL WWW ICQ Skype   Вверх
Zeroglif
Дата 26.7.2007, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Цитата(Aliance @  26.7.2007,  09:22 Найти цитируемый пост)
Кто сказал?

Видимо подразумевается "корректно" с точки зрения официальных доков JavaScript, где с самого начала и очень-очень долго предлагалось использовать interCap (onClick, onMouseOver и т.д.)
PM MAIL WWW   Вверх
SamDark
Дата 26.7.2007, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 2
Всего: 38



При использовании обычной разметки HTML пофигу как писать, однако XHTML требует нижнего регистра. Так что для XHTML правильно onclick, а не onClick или ONCLICK.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0766 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.