2009-10-25 2 views

ответ

3

Ненавязчивое просто означает «Не смешивайте свой HTML с вашим поведением в JavaScript». Другой способ сказать это «Не меняйте свой HTML только потому, что вы хотите использовать javascript». Методы помощников javascript в рельсах делают это как нечто скрытое.

Скажите, что вы не использовали javascript вообще. Если вам нужна форма HTML, вы должны использовать form_for и иметь обычную форму. Теперь скажите, что вы хотите добавить javascript, чтобы ваша форма подавала запрос AJAX вместо обычного HttpRequest. У вас есть два способа сделать это.

  1. Вы можете использовать вспомогательный метод remote_form_for
  2. Вы можете использовать что-то вроде JQuery привязать функцию вызова представить, что подает свою форму с помощью AJAX.

Первый метод навязчивый. Вы меняете свою разметку (посмотрите на сгенерированный код). Второй метод ненавязчив. Используя jQuery и добавляя поведение из javascript, вы вообще не изменяете свой HTML.

+0

Хорошее объяснение. Благодарю. – 2009-10-25 04:47:46

+0

@ Lee Tang: Всегда рад помочь :) –

0

помощники рельсов добавляют события onclick прямо в html. я всегда считал, что ненавязчивое означает, что ваша страница будет работать, когда пользователь отключил javascript, но после того, как ответ jason punyon появился, когда я печатал, я проверил его.

действительно технически полностью отделить javascript от html был помечен ненавязчивым javascript.

+1

Первая концепция, которую вы называете «Деградация грациозно» –

+1

Далее, использование ненавязчивого Javascript обычно воспринимается как лучший способ грамотно деградировать. Те, кто просматривает страницу без javascript, не получат ошибок, но они не получат «полный» опыт, как предполагал разработчик или дизайнер. Вот почему важно, чтобы ваши страницы функционировали, даже если Javascript не включен. – Jared

Смежные вопросы