#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть простая страница для тестирования, на которой есть только кнопка, я ссылаюсь на внешний js-файл. Она отображает версию jquery в окне предупреждения, но при нажатии кнопки ничего не происходит. Что с этим не так?
Вот моя простая тестовая HTML-страница
<title>Insert title here</title>
<!-- scripts -->
<script language="JavaScript" type="text/javascript" src="jquery.js"></script>
<script language="JavaScript" type="text/javascript" src="myscript.js"></script>
</head>
<body>
<form>
<input type="button" tabindex="5" value="jscript" id="testbutton" />
</form>
</body>
и вот содержимое моего файла myscript
alert($.fn.jquery);
$('#testbutton').click(function(){
alert("test successful");
});
Я использую jQuery версии 1.6
Ответ №1:
Вероятно, потому, что DOM не готов к обработке JavaScript во время привязки обработчика щелчка. Попробуйте:
$(document).ready(function() {
$('#testbutton').click(function(){
alert("test successful");
});
});
Комментарии:
1. @Abhishek — Просто чтобы указать, я ответил первым, но ладно. (сначала упорядочивайте ответы по самому старому) 🙂
2. извините, я не видел время. Еще раз спасибо!
3. 44 секунды имеют решающее значение! ( 1 для обоих, хотя) 🙂
Ответ №2:
Вам нужен document.ready:
$(document).ready(function(){
alert($.fn.jquery);
$('#testbutton').click(function(){
alert("test successful");
});
});
Это потому, что на ваш #testbutton
нельзя ссылаться, пока он не загружен
Надеюсь, это поможет. Приветствия
Комментарии:
1. Спасибо, это сработало. итак, я полагаю, что эта функция .ready() требуется хотя бы один раз?
2. Извините, Эдгар, я раньше не видел, но Karim79 ответил на мой вопрос первым 🙂