當前位置:編程學習大全網 - 源碼下載 - jquery事件委托如何使用

jquery事件委托如何使用

這篇文章主要介紹了關於jquery事件委托如何使用,有著壹定的參考價值,現在分享給大家,有需要的朋友可以參考壹下

壹、總結壹句話總結:通過on方法(事件委托),給要綁定事件的元素的祖先綁定事件,從而達到效果。1、事件委托是什麽?通過事件冒泡,讓子元素綁定的事件冒泡到父元素(或祖先元素)上,然後再進行處理。

91 //使用事件委托,只在table上綁定壹次事件

92 //可以動態綁定事件

93 $('table').on('click','td',function(){

94 //$(this).css('background','orange')

95 alert('click_td')

96 })2、事件委托的優勢是什麽?給動態元素添加事件

事件只綁定壹次,效率高(對於同類大量元素需要綁定,效率非常高,比如壹個表格2500td,要給每個td綁定事件)

91 //使用事件委托,只在table上綁定壹次事件

92 //可以動態綁定事件

93 $('table').on('click','td',function(){

94 //$(this).css('background','orange')

95 alert('click_td')

96 })3、事件委托的監聽對象是誰(事件委托的對象是誰)?要執行事件他祖先,比如要給大量td綁定事件,事件委托的對象就是它爺爺,也就是table表

91 //使用事件委托,只在table上綁定壹次事件

92 //可以動態綁定事件

93 $('table').on('click','td',function(){

94 //$(this).css('background','orange')

95 alert('click_td')

96 })4、代碼添加的元素和動態添加的元素的區別?代碼生成元素的添加事件的代碼要在代碼生成之後,這樣他是可以綁定事件的

73 //如果不是動態創建的,可以直接綁定事件

74 $('<p></p>').appendTo($('body'))

75 $('<p></p>').appendTo($('body'))

76 $('<p></p>').appendTo($('body'))

77 $('p').on('click',function(){

78 $(this).css('background','orange')

79 })5、事件委托的使用場景是什麽?壹個表格裏面有很多td,要給td綁定事件,如果使用給每個td綁定事件的方法,效率非常低,並且容易出錯,使用事件委托的話就特別方便了,壹步到位。

91 //使用事件委托,只在table上綁定壹次事件

92 //可以動態綁定事件

93 $('table').on('click','td',function(){

94 //$(this).css('background','orange')

95 alert('click_td')

96 })6、如何動態給表格添加行列?html代碼+append方法

87 $('#btn1').click(function(){

88 $('<tr><td></td><td></td><td></td><td></td><td></td></tr>').appendTo('table')

89 })二、jquery事件委托怎麽使用1、相關知識事件委托通過事件冒泡,讓子元素綁定的事件冒泡到父元素(或祖先元素)上,然後再進行處理。

2、代碼<!DOCTYPE html>

<html>

<style>

</style>

<head>

<meta charset="UTF-8">

<title>演示文檔</title>

<script type="text/javascript" src="jquery-3.1.1.min.js"></script>

<style type="text/css">

input{width: 100px;height: 30px;}

div{width: 50px;height: 50px;border:1px solid green;display: inline-block;margin-left: 15px}

td{width: 50px;height: 20px;background: #ccc}

</style>

</style>

</head>

<body>

<h3>jQuery事件對象</h3>

<input id="btn1" type="button" value="事件綁定"><br>

<div></div>

<table>

<tr>

<td></td>

<td></td>

<td></td>

<td></td>

<td></td>

</tr>

<tr>

<td></td>

<td></td>

<td></td>

<td></td>

<td></td>

</tr>

<tr>

<td></td>

<td></td>

<td></td>

<td></td>

<td></td>

</tr>

<tr>

<td></td>

<td></td>

<td></td>

<td></td>

<td></td>

</tr>

<tr>

<td></td>

<td></td>

<td></td>

<td></td>

<td></td>

</tr>

</table>

<script type="text/javascript">

$(function(){

/*

//使用事件委托動態綁定事件

$('#btn1').on('click',function(){

$("<div></div>").appendTo($('body'))

})

// $('div').on('click',function(){

// $(this).css('background','orange')

// })

$(document).on('click','div',function(){

$(this).css('background','orange')

})

//移出事件委托

$(document).off('click','div')

//如果不是動態創建的,可以直接綁定事件

$('<div></div>').appendTo($('body'))

$('<div></div>').appendTo($('body'))

$('<div></div>').appendTo($('body'))

$('div').on('click',function(){

$(this).css('background','orange')

})

//每壹個td綁定壹個事件

//不能動態的添加事件,效率低

$('td').on('click',function(){

alert('click_td')

})

*/

$('#btn1').click(function(){

$('<tr><td></td><td></td><td></td><td></td><td></td></tr>').appendTo('table')

})

//使用事件委托,只在table上綁定壹次事件

//可以動態綁定事件

$('table').on('click','td',function(){

//$(this).css('background','orange')

alert('click_td')

})

})

</script>

</body>

</html>給動態元素添加事件

事件只綁定壹次,效率高

  • 上一篇:保單貸款的質押是什麽
  • 下一篇:變速精靈的變速精靈版本
  • copyright 2024編程學習大全網