静态页面略过,动态实现过程如下:
1.实现功能:输入内容,成功发布微博
<textarea class="comment"></textarea>
<input type="button" value="发布" class="send" disabled>
实现方法:监听发布按钮的点击,通过$.ajax();从服务器获取数据创建一条微博
2.
实现功能:实现动态创建出来的一条微博中的顶,踩,删功能
实现方法:监听顶点击,刷新之后数据保存下来
事件委托:因为这条微博是动态创建出来的,在js文件加载之前不存在,所以事件委托给入口函数加载之前就已经存在的body,$("body").delegate();
实现代码:$(this).text(parseInt($(this).text())+1);
通过$.ajax();发送数据,服务器处理数据,刷新之后数据保存下来
踩,删功能实现方法一样
3.
监听页码点击,点击1,获取第一页数据,并且是点中状态,刷新之后还是第一页数据,这里用到window.location.hash
4.
实现功能:不能发布空内容。即文本框输入内容,才能点击发布按钮,否则,不能点击
实现方法:监听内容的实时输入,要用到事件委托
代码实现:$("body").delegate(".comment","propertychange input",function(){
// 判断是否输入了内容
if($(this).val().length>0){
// 让按钮可用,操作属性节点可以用attr也可以用prop,区别是如果有false和true,就用prop
$(".send").prop("disabled",false);
}else{
// 让按钮不可用
$(".send").prop("disabled",true);
}
});
总结很重要!总结很重要!总结很重要!