2010-06-20 3 views
1

Серьезно Простейший код JQuery когда-либо просто не работаетДействительно, очень простой JQuery, не работает :(

<script type="text/javascript"> 
$(document).ready(function(){ 

$('.codeswitcher').click(function() { 
     alert("You clicked it"); 
}); 

}); 
</script> 

А потом, в моей странице структуры, у меня есть это:

<div class="codeswitcher"> 
<img src="http://mysite.com/images/codeswitcher.png" alt="codeswitcher"> 
</div> 

Это просто 32x32px изображения. и вы можете щелкнуть по нему. Но ничего не происходит! :(Я также изменил мой селектор JQuery для .codeswitcher img и div.codeswitcher, но до сих пор ничего.

у меня есть другой JQuery гр ode также работает на странице просто отлично. Что случилось?

Спасибо!

Джек

+0

проверьте наличие конфликтов jquery! –

ответ

2

Во-первых, вы не сумасшедший, ваш пример кода работает: http://jsfiddle.net/c3e6X/

Проверьте, чтобы увидеть, если у вас есть ошибка JavaScript перед запуском этого кода, просто откройте консоль и смотрите.

Если оно создано динамически, т.е. AJAX, то вы должны использовать .live(), а именно:

$(function() { 
    $('.codeswitcher').live('click', function() { 
    alert("You clicked it"); 
    }); 
}); 
+0

jsfiddle выглядит как аккуратный сайт! Спасибо за подтверждение, кстати. И проблема в том, что он был создан Ajax. Спасибо, что сообщили мне, я не знал, что вам нужно было выбирать его по-другому в такой ситуации! – Jack

+0

Не могу принять ваш ответ еще на 9 минут, хотя ... но, спасибо :) – Jack

+0

@Jack - Селектор запускается ** в это время ** и прикрепляет обработчик 'click' к найденным им элементам ... этого просто не было, чтобы найти :) для более подробного объяснения: '.live()' слушает, что событие пузырится до 'document' ... поскольку новые и старые элементы пузырьков событий одинаково, это просто doesn Не важно, когда они были добавлены. –

Смежные вопросы