После нажатия #theButton
должно сработать предупреждение. Почему ни одно из событий не запускается с использованием следующих методов? Заранее спасибо.
<html>
<head>
<script type="text/javascript" language="javascript">
var theButton = document.getElementById("theButton");
theButton.onclick = function(){alert("Clicked!");}
theButton.onclick = clickAlert;
theButton.onclick(alert("Clicked!"));
function clickAlert(){
alert("Clicked!");
}
</script>
</head>
<body>
<input type="button" id="theButton">
</body>
</html>
5 ответов
У вас три проблемы
- Вы неправильно написали
function
в строке 7. (Между прочим, это приводит к ошибке во время выполнения) - Вы пытаетесь получить доступ к узлу #theButton, прежде чем он станет доступен в DOM. Примите совет Пекки для этого
- Вы перезаписываете свойство
onclick
в строке 8 - не уверены, что вы делаете это специально или что
Потому что theButton
еще не существует, когда вы запускаете свой скрипт?
Оберните его в событие onload
тела или ready()
jQuery.
Мне нравится ответ jQuery.ready()
, но я считаю, что вы также можете переместить блок <script>
в какой-то момент, после того как вы нажмете кнопку, как в конце страницы.
Это работает, если вы поместите onclick внутри тега input (и произнесете все правильно):
<html>
<head>
<script type="text/javascript" language="javascript">
function clickAlert(){
alert("Clicked!");
}
</script>
</head>
<body>
<input type="button" id="theButton" NAME="theButton" onclick="clickAlert()">
</body>
</html>
Попробуйте обернуть его в функцию document.Ready ().
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.