1. 程式人生 > >用jquery給元素動態繫結事件及樣式

用jquery給元素動態繫結事件及樣式

網頁輸出的時候,可以用jquery給各種元素繫結事件,或設定樣式。

之所以這樣做,好處是節省程式碼,尤其適合元素很多,並且元素的事件對應的函式雷同的情況。

看看以下程式碼:

	<div id="divUserList">
		<span><a href="javascript:;" onclick="hi('001')">張三</a></span>
		<span><a href="javascript:;" onclick="hi('002')">李四</a></span>
		<span><a href="javascript:;" onclick="hi('003')">錢五</a></span>
		<span><a href="javascript:;" onclick="hi('004')">趙六</a></span>
		<span><a href="javascript:;" onclick="hi('005')">陳七</a></span>
		<span><a href="javascript:;" onclick="hi('006')">王八</a></span>
	</div>
	<script type="text/javascript">
		function hi(code){
			alert("my code is:" + code);
		}
	</script>

假設這個名單由後臺生成,非常長,那麼程式碼將會比較繁多。

如果採用事件動態繫結,則簡潔許多:

<div id="divUserList">
	<!-- code是我們自定義的屬性 -->
	<span code="001">張三</span>
	<span code="002">李四</span>
	<span code="003">錢五</span>
	<span code="004">趙六</span>
	<span code="005">陳七</span>
	<span code="006">王八</span>
</div>	
<script type="text/javascript">
	$(function () {//相當於javascript onload函式,頁面載入完畢後觸發,保證動態載入事件的元素都已存在
		$("div#divUserList [code]").each(function () {//id="divUserList"的DIV的子元素中,凡帶有“code”屬性的都被遍歷
			$(this).live("click", function () {//繫結事件
				hi($(this).attr("code"));
			});
			
			$(this).css("cursor","pointer");//設定樣式:滑鼠指標
		});
	});
	function hi(code){
		alert("my code is:" + code);
	}	
</script>