Почему функция click() не вызывается?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>test</title>
</head>
<body>
<button onclick="click()">Click</button>
<script>
function click() {
console.log('Hello world');
}
</script>
</body>
</html>
Ответы (3 шт):
Автор решения: ΝNL993
→ Ссылка
Не понимаю почему это влияет на работоспособность, но дело в названии функции.
<button onclick="onClick()">Click</button>
<script>
function onClick() {
console.log('Hello world');
}
</script>
Автор решения: SwaD
→ Ссылка
Не используйте зарезервированные методы элементов HTML для имен функций, которые вы передаете в строковые значения атрибутов on*.
Например для click() и button, запись onclick="click()" интерпритируется как вызов button.click() т.к. у button есть метод click
Назовите функцию по другому и заработает
function myClick() {
console.log('Hello world');
}
Однако!
Т.к. функция создается в window, то сработает, если мы вызовем функцию следующим образом window.click()
<button onclick="window.click()">Click</button>
<script>
function click() {
console.log('Hello world');
}
Автор решения: mash
→ Ссылка
Видимо, дело в названии, попробуйте переименовать функцию:
function onClick() {
console.log('click');
}