JavaScript встроенный синтаксис событий

Есть ли любая причина использовать один из следующих больше, чем другие:

<input type="button" value="b1" onclick="manageClick(this)" />
<input type="button" value="b2" onclick="manageClick(this);" />
<input type="button" value="b2" onclick="manageClick(this);return false;" />
<input type="button" value="b3" onclick="return manageClick(this);" />
<input type="button" value="b4" onclick="javascript:return manageClick(this);" />

И не тратьте свое драгоценное время, чтобы сказать мне использовать jQuery или attachEvent/addEventListener. Это не действительно цель моего вопроса.

9
задан Peter Mortensen 25 March 2010 в 00:47
поделиться

2 ответа

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

Третья предотвратит любое действие по умолчанию, которое не произойдет в первых двух.

Четвертое предотвратит действие по умолчанию или нет в зависимости от возвращаемого значения параметра manageClick.

Пятое действие неверно.

(И везде, где это уместно, используйте attachEvent/addEventListener -- duck and runs)

.
8
ответ дан 4 December 2019 в 19:33
поделиться
<input type="button" value="b3" onclick="return manageClick(this);" />

edit Return предпочтительнее в случаях, когда вы хотите контролировать поведение элементов, например, для и , так что если предположить, что это так, то выше приведен ваш ответ, если не пропустить возврат и просто перейти к click="managementClick(this);".

Также посмотрите на http://crisp.tweakblogs.net/blog/313/the-useless-javascript-pseudo-protocol.html относительно использования javascript:. ^_^

4
ответ дан 4 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: