Jquery onclick на div
У меня есть простой вопрос. Следующий код работает для всех тегов:
$('*').click(function(e) {
alert(1);
});
Но, когда я пробую этот код для div с id "content":
$('#content').click(function(e) {
alert(1);
});
Что я делаю неправильно?
Ответы
Ответ 1
Удостоверьтесь, что он находится в готовом к документу теге. Вместо этого попробуйте использовать .live
$(document).ready(function(){
$('#content').live('click', function(e) {
alert(1);
});
});
Пример:
$(document).ready(function() {
$('#content').click(function(e) {
alert(1);
});
});
#content {
padding: 20px;
background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id="content">Hello world</div>
Ответ 2
Ничего.
$('#content').click(function(e) {
alert(1);
});
Будет привязан к существующему элементу HTML с идентификатором, установленным в content
, и отобразит окно сообщения при щелчке.
- Убедитесь, что
#content
существует до использования этого кода
- Что идентификатор уникальный
- Проверьте вашу консоль Javascript на наличие ошибок или проблем.
Ответ 3
Может ли div с id = "content" не создаваться при присоединении этого события? Вы можете попробовать метод live() jquery.
Кроме того, может быть несколько div с одним и тем же идентификатором, иначе вы просто ошиблись, это происходит...
Ответ 4
Оберните код в метод $(document).ready()
или $()
.
$(function(){
$('#content').click(function(e) {
alert(1);
});
});
Ответ 5
Отъезд fiddle... вы делаете это правильно. Убедитесь, что идентификатор является содержимым, а также проверьте, нет ли других элементов с одним и тем же идентификатором. Если есть несколько элементов с одним и тем же идентификатором, он будет привязан к первому. Возможно, поэтому вы его не видите.