国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery實現為動態添加的元素綁定事件實例分析

2024-05-06 15:30:23
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery實現為動態添加的元素綁定事件。分享給大家供大家參考,具體如下:

在使用jquery的方式為元素綁定事件時,我經常使用bind或者click,但這只能為頁面已經加載好的元素綁定事件。像需要用ajax的方式請求遠程數據來動態添加頁面元素時,顯然以上幾種綁定事件的方式是無效的,具體寫法如下。

$(selector).bind(event,data,function)
$(selector).click(function)
$("#searchMoveVideoResult ul li").bind("click",function(){  $(this).css("border","5px solid #000");});$("#searchMoveVideoResult ul li").click(function(){  $(this).css("border","5px solid #000");});

為動態添加的元素綁定事件有以下幾種方式:

1. delegate():向匹配元素的當前或未來的子元素附加一個或多個事件處理器

$(selector).delegate(childSelector,event,data,function)

目前大多數jquery版本都可用,不過我一般不用它。

$("#searchMoveVideoResult").delegate("ul li","click",function(){  $(this).css("border","5px solid #000");});$("#searchMoveVideoResult").delegate("click","ul li",function(){  $(this).css("border","5px solid #000");});

看出它們的不同了嗎,第二種寫法是錯誤的,記住一定要把事件寫在元素的后面。

2. live():為當前或未來的匹配元素添加一個或多個事件處理器

$(selector).live(event,data,function)

jquery1.8版本以前推薦使用該方法;jquery1.8版本之后就不建議使用了,我試了下,也是無效的,所以高版本的jquery推薦使用on()方法綁定事件。

$("#searchMoveVideoResult ul li").live("click",function(){   $(this).css("border","5px solid #000");});

3. on():適用于當前及未來的元素(比如由腳本創建的新元素)

$(selector).on(event,childSelector,data,function,map)

試驗了下,大多數版本的jquery都是支持這個方法的,也是我比較喜歡使用的方法。

$("#searchMoveVideoResult").on("click","ul li",function(){  $(this).css("border","5px solid #000");});//下面這樣寫就是錯的了,一定要把動態添加的元素放到on()方法里面才行。$("#searchMoveVideoResult ul li").on("click",function(){  $(this).css("border","5px solid #000");});

4.onclick事件:動態添加數據時,就為元素綁定onclick事件

function searchMoveVideo(){  $.ajax({    type:"POST",    url:"http://op.juhe.cn/onebox/movie/video",    data:{"q":$("#moveVideo").val(),"key":"346f79df993776748b242236464d565d"},    dataType:"JSONP",    success:function(data){      console.log(data);      if(data.error_code=="0"){        var result=data.result;        console.log(result);        var html=result.title+"<br>"+result.tag+"<br>"+result.act+"<br>"+result.year+"<br>"                     +result.area+"<br>"+result.dir+"<br>"+result.desc;        html+="<br><img src='"+result.cover+"'/><br>";        html+='<ul style="list-style: none; float: left;">';        var act_s=result.act_s;        for(var i=0;i<act_s.length;i++){          html+='<li style="float: left;" <span style="color:#cc0000;">onclick="showSource(this);"</span>><a target="_bla                        nk"><img src="'+act_s[i].image+'"><br>'+act_s[i].name+'</a></li>';        }        html+='</ul>'        $("#searchMoveVideoResult").html(html);      }else{        $("#searchMoveVideoResult").html(data.reason);      }    }  });}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 福州市| 海口市| 津市市| 苏州市| 濉溪县| 华池县| 东阳市| 汝南县| 黑龙江省| 英山县| 明星| 岗巴县| 咸阳市| 蕉岭县| 永修县| 报价| 滦南县| 盐亭县| 鹿邑县| 朔州市| 信宜市| 宽城| 平阴县| 彝良县| 克山县| 栾城县| 抚松县| 厦门市| 晋中市| 称多县| 香格里拉县| 万盛区| 重庆市| 成武县| 木兰县| 南昌市| 长沙市| 尉氏县| 桃源县| 莱西市| 临西县|