jQuery笔记总结

一、常用时间:
1、focus事件,获取焦点事件,一般不往这个事件上绑定函数。一般作为让输入框自动获取焦点的方式,写法:$input.focus()
2、mouseover和mouseout鼠标移入事件,移入事件子元素也会被触发
3、mouseenter和mouseleave鼠标移入移出事件子元素不会被触发
4、hover可以将mouseenter 和mouseleave事件合并在一起些,写的:
$input.hover(function(){mouseenter的操作},function(){mouseleave的操作})

二、事件冒泡
原理:元素发生事件后,会将这个事件传递给父级,父级还会往上传,一直传到最顶级标签,一般最顶级标签写成(document)returnfalse;(document) 阻止冒泡事件:return false; 三、事件委托 原理:利用事件冒泡 的特性,将事件绑定在父级上,子级发生的时间都会冒泡到父级,父级判断子级的特征给它特定的操作。 一般写法:ul delegate(‘li’ , ‘click’ , function(){ $(this)指的是当前冒泡的子级 })
四、DOM(节点操作)
1、append和appendTo
2、prepend 和prependTo
3、after 和insertAfter
4、before 和insertBefore
5、remove删除节点

demo 列表操作,增、删、置顶和下降

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>todolist</title>
	<style type="text/css">
		.list_con{
			width:600px;
			margin:50px auto 0;
		}
		.inputtxt{
			width:550px;
			height:30px;
			border:1px solid #ccc;
			padding:0px;
			text-indent:10px;			
		}
		.inputbtn{
			width:40px;
			height:32px;
			padding:0px;
			border:1px solid #ccc;
		}
		.list{
			margin:0;
			padding:0;
			list-style:none;
			margin-top:20px;
		}
		.list li{
			height:40px;
			line-height:40px;
			border-bottom:1px solid #ccc;
		}

		.list li span{
			float:left;
		}

		.list li a{
			float:right;
			text-decoration:none;
			margin:0 10px;
		}
	</style>
	<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    <script type="text/javascript">
        $(function(){
            var $txt = $('#txt1');
            var $btn = $('#btn1');
            var $ul = $('#list');

            $btn.click(function(){
                var sVal = $txt.val();
				//内容输入完成,清空
				$txt.val('');
                if(sVal == ''){
                alert('请输入内容');
                return;
            }
				//添加内容
                var $li = $('<li><span>'+ sVal +'</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>')
                $ul.append($li)	

            })
        

			 //事件代理方式解决新加数据删除问题。
			 $ul.delegate('a','click',function(){
				 var sHandler = $(this).prop('class');//获取元素属性值

				 if(sHandler == "del"){
					 $(this).parent().remove(); //删除该条记录
				 }
				 if(sHandler =='up'){
					 if($(this).parent().prev().length == 0){
						 alert('到顶了')
						 return;
					 }
					 $(this).parent().insertBefore($(this).parent().prev());
				 }
				 if(sHandler == 'down'){
					 if($(this).parent().next().length == 0){
						 alert('到底了');
						 return;
					 }
					$(this).parent().insertAfter($(this).parent().next());
				 }
			 })
        })
	</script>	
</head>
<body>

	<div class="list_con">
	<h2>To do list</h2>
		<input type="text" name="" id="txt1" class="inputtxt">
		<input type="button" name="" value="增加" id="btn1" class="inputbtn">
		
		<ul id="list" class="list">

			<li><span>学习html</span><a href="javascript:;" class="up"></a><a href="javascript:;" class="down"></a><a href="javascript:;" class="del">删除</a></li>
			<li><span>学习css</span><a href="javascript:;" class="up"></a><a href="javascript:;" class="down"></a><a href="javascript:;" class="del">删除</a></li>
			<li><span>学习javascript</span><a href="javascript:;" class="up"></a><a href="javascript:;" class="down"></a><a href="javascript:;" class="del">删除</a></li>

		</ul>

	</div>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章