функция div .click не работает - PullRequest
0 голосов
/ 13 декабря 2011

Я пытаюсь вызвать функцию DIV .click, но она не работает. Div, о котором я говорю, создан с помощью PHP.

Это результат PHP:

<div style="position:relative;width:700px;" id="colorcontainer">
<div class='color' style='background: url(kleuren/c121.jpg); background-size: 100 72; background-repeat:no-repeat;'><span class='txt'>CBM 121<br />Blank Gelakt Eiken</span></div>
</div>

Теперь я пытаюсь вызвать функцию div .click:

<script type="text/javascript">
$(document).ready(function(){
    $('#colorcontainer > div').click(function() {
        var name = this.css('background-image');
        alert(name);
    });
});

Теперь он не показывает предупреждение вообще. Что я здесь не так делаю? Я пробовал это без документа .ready, с .color и всякими вещами, но он просто не вызывает функцию.

Ответы [ 6 ]

3 голосов
/ 13 декабря 2011

Вы не должны использовать this, это должно быть $(this). Здесь - рабочая демонстрация вашего кода.

2 голосов
/ 13 декабря 2011

Ваш javascript должен быть

$(document).ready(function(){
    $('#colorcontainer > div').click(function() {
        var name = $(this).css('background-image');
        alert(name);
    });
});
2 голосов
/ 13 декабря 2011

Попробуйте этот код

$(document).ready(function(){ 
    $('#colorcontainer > div').click(function() { 
        var name = $(this).css('background-image'); 
        alert(name); 
    }); 
}); 
2 голосов
/ 13 декабря 2011

Для обеспечения использования jQuery. Используйте $(this) вместо this.

So

var name = $(this).css('background-image');

будет работать

1 голос
/ 13 декабря 2011

Я думаю, что для повышения производительности вы должны вызвать div, содержащий фоновое изображение, как показано ниже:

$('.color').click(function () {
     var name = $(this).css('background-image');
     alert(name);
});
0 голосов
/ 09 июня 2013

Это давно на пост был дан ответ. Но на всякий случай, если кто-то сталкивался с чем-то похожим. Без сомнения, ответ на поставленный выше вопрос прекрасно сформулирован, но хочу поделиться с ним еще несколькими советами (если у вас нет синтаксической ошибки - попробуйте методы ниже, чтобы увидеть, срабатывает ли событие click или нет) 1) чуть ниже события клика, напиши оповещение и посмотри. это гарантирует, что ничто до события click не будет ошибочным. 2) посмотрите, существует ли упомянутый вами селектор. здесь $ ('. color'), поэтому должно быть

...