不知道为什么我的点击事件不起作用?

时间:2017-06-28 18:21:30

标签: jquery css click

我已经设置了一个点击事件,可以在点击用户按钮时将整个页面的背景颜色更改为绿色,但是当我点击它时没有任何反应。我是jQuery的新手,所以我确定我犯了一个明显的错误。

$(document).ready(function() {
    var $body = $('body')
    /*$body.html('');*/

    //  var currentView = "Twittler Feed"
    var currentView = $('<p>Twittler Feed</p>');
    var refreshTweet = function() {
        var index = streams.home.length - 1;
        var endInd = index - 10;
        while (index >= endInd) {
            var tweet = streams.home[index];
            var $tweet = $('<div class="tweets"><p class="posted-by"><button class="user">@' +
                tweet.user + '</button><p class="message">' + tweet.message +
                '</p><p class="time">' + /*$.timeago(tweet.created_at)*/ tweet.created_at + '</p></div>');
            currentView.appendTo('#sidebar')
            $tweet.appendTo($body);
            index -= 1;
        }
    }

    refreshTweet();

    $('.refresh').on('click', function() {
        if (document.getElementsByClassName('tweets')) {
            $('.tweets').remove();
        }
        var result = refreshTweet();
        $body.prepend(result);
    })

    $('.user').on('click', 'button', function() {
        currentView = this.user
        $('body').css('background-color', 'green');

    });
});

2 个答案:

答案 0 :(得分:0)

如果要将“点击”事件分配给“用户”类,则应使用.user(而非使用不带点的用户)。

  $('.user').on('click', 'button', function() {
    currentView = this.user
    $('body').css('background-color', 'green');

   });

答案 1 :(得分:0)

当您使用ID或CLASS定义或注册事件时,您必须使用相应的运算符#和。

由于用户是类,因此使用.user来注册click事件

  $(document).on('click', '.user', function() {
    currentView = this.user;
    $('body').css('background-color', 'green');

   });

on()jquery http://api.jquery.com/on/

的参考