我已经设置了一个点击事件,可以在点击用户按钮时将整个页面的背景颜色更改为绿色,但是当我点击它时没有任何反应。我是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');
});
});
答案 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/
的参考