我正在尝试使用类选择器(“ .user”)按钮运行另一个功能。但是,当我单击该按钮时,将不会运行任何功能。下面是我正在处理的代码,类按钮位于最底部。我只是不知道为什么它不起作用。我知道我的getNewTweets函数可以工作,并且还有另一个可以正常运行的按钮,但是类选择器不起作用。谁能告诉我为什么?
$(document).ready(function(){
var $body = $('body');
var $timeline = $('<div class="timeline"></div>');
var $btn = $('<input/>').attr({type:'button',name:'getNewTweets',value:'Get New Tweets'})
$body.html('');
$timeline.html('');
$btn.appendTo($body);
$timeline.appendTo($body);
var currentIndex = 0; //Current index of tweets shown
function getNewTweets() {
var index = streams.home.length - 1 - currentIndex;
while(index >= 0) {
var tweet = streams.home[index];
var $tweet = $('<div class="tweet"></div>');
var $time = $('<div class="time"></div>');
var $message = $('<div class="message"></div>')
var $user = $('<button class=user></button>');
$time.text(tweet.created_at);
$user.text('@' + tweet.user);
$message.text('tweetled: ' + tweet.message);
$tweet.append($user);
$message.appendTo($tweet);
$time.appendTo($tweet);
$tweet.appendTo($timeline);
index -= 1;
currentIndex += 1;
}
};
$btn.click(getNewTweets);
$(".user").click(getNewTweets);
答案 0 :(得分:1)
具有user
类的按钮会动态添加到DOM中,因此在执行$(".user").click(getNewTweets);
时,.user
可能不可用,这导致没有附加单击事件侦听器。解决方案是将事件侦听器附加在文档上$(document).on('click', '.user', getNewTweets);