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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章