Возможный дубликат:
Вам когда-нибудь приходилось указывать javascript: в onclick?
Что лучше написать в MVC3, когда по событию onclick например мы вызываем функцию с functionName()? javascript:functionName() или просто functionName()?
Возможный дубликат:
Вам когда-нибудь приходилось указывать javascript: в onclick?
Что лучше написать в MVC3, когда по событию onclick например мы вызываем функцию с functionName()? javascript:functionName() или просто functionName()?
На самом деле лучше всего не смешивать javascript и разметку. Таким образом, вы можете незаметно прикрепить этот обработчик события onclick с помощью javascript в отдельном файле. Но что касается вашего вопроса, вам не нужен префикс javascript:.
javascript: означает разные вещи в зависимости от того, где он появляется.
В URI это означает выполнение JavaScript для получения ресурса. Это не прогрессивный или ненавязчивый, и его следует избегать.
В JavaScript (которым является значение атрибута onclick) это метка а>:
while, do, for и switch.while, do, for или switch в атрибуте onclick, вам нужно разбить его на функцию ради собственного здравомыслия, когда вы вернетесь, чтобы прочитать его позже.Лучше не использовать javascript в вашем HTML для разделения проблем и ненавязчивого javascript.
Если вы хотите добавить событие onclick, используйте следующее:
document.getElementById('element').onclick = functionName
В вашем файле javascript. Таким образом, уровень представления (HTML) отделяется от уровня логики (Javascript).
Отделение JavaScript от разметки (так называемое поведенческое разделение или ненавязчивый javascript). Когда вы помещаете свой javascript в разметку (как в <div onclick="[javascript:]startMyFunction()" ...>), выражение должно быть eval-ed, что порождает другой интерпретатор.
Поэтому более эффективно поместить скрипт туда, где он должен быть: в теге javascript.