Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Что плохого в том чтобы описывать обработчики событий инлайн? (https://javascript.ru/forum/offtopic/34295-chto-plokhogo-v-tom-chtoby-opisyvat-obrabotchiki-sobytijj-inlajjn.html)

godofjavascript 28.12.2012 07:30

Что плохого в том чтобы описывать обработчики событий инлайн?
 
Например

<button onclick="System.dialog.open.ok(event)">ok</button>


Если в этом какие-то минусы?


Так же есть ли какие-то минусы в том чтобы создавать новые элементы и описывать их поведение javascript'ом?

Например
<toggle>
    <option value="1">on</option>
    <option value="0">off</option>
</toggle>


Ведь именно так все будет происходить в моем чудошаблонизаторе ;) (ну почти так)

Gozar 28.12.2012 11:33

Цитата:

Сообщение от godofjavascript
Что плохого

Плохого - ничего. Как нет ничего плохого в том, что на улице идет дождь.

Ты привязываешь обработчик в html. Я привязываю в js, а html у меня в отдельном файле, мне будет неудобно каждый раз, чтобы посмотреть обработчик я вынужден буду лезть в отдельный файл и там среди кучи html искать обработчик.

Shaci 28.12.2012 12:13

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

kobezzza 28.12.2012 12:22

Я сжимаю свои проекты в GCС advanced mode, и в твоём случае мне придётся делать проверку инлайн событий сжимальщиком, а этот не нужный гемор мне не нужен, ну и также всё так, как сказали ораторы выше.

godofjavascript 28.12.2012 14:36

Цитата:

Сообщение от Gozar
мне будет неудобно каждый раз, чтобы посмотреть обработчик я вынужден буду лезть в отдельный файл и там среди кучи html искать обработчик.

ясно, ну да, я просто делаю так чтобы оболочку и её анмацию и логику можно было полностью напрограммировать в html файле не заходя в javascript/

А то что ты сказал знакомо да.

Цитата:

Сообщение от Shaci
ты не сможешь больше одного обработчика привязать к элементу

onclick="handler1(event);handler2(event);"

Но это и не нужно. Если архитектура грамотная.

godofjavascript 28.12.2012 14:39

Цитата:

Сообщение от kobezzza
Я сжимаю свои проекты в GCС advanced mode, и в твоём случае мне придётся делать проверку инлайн событий сжимальщиком, а этот не нужный гемор мне не нужен, ну и также всё так, как сказали ораторы выше.

Хм, ну да, собственно неудобство,\ в том если ты логику оболочки делаешь в яваскрипте то приходится бегать то туда то сюда, и смысла в этом нет. Ясно) Спасибо всем.

А на счет своих элементов чо? Гугль плакаться будет или что?

Shaci 28.12.2012 15:05

Цитата:

Сообщение от godofjavascript
onclick="handler1(event);handler2(event);"

Но это и не нужно. Если архитектура грамотная.

ну да, так можно, но получается "формально" один обработчик правда, т.к. это дело
handler1(event);handler2(event);
оборачивается в анонимную ф-цию, но это не существенно


Часовой пояс GMT +3, время: 20:11.