1. 程式人生 > >jquery為不存在的元素動態新增事件

jquery為不存在的元素動態新增事件

直接看例子程式碼吧,下面這個是用來對一段較長的文字做檢視全部和隱藏功能的程式碼

if(jQuery(".product-view .box-description .std").length){
    //alert(jQuery(".product-view .box-description .std").text().substr(0,5));
    var std=jQuery(".product-view .box-description .std");
    var stdNormalLength=123;
    var stdStr=std.text().toString();
    var subStr=stdStr.subStr(0,stdNormalLength)+'......';
    std.text(subStr);
    
    var more=document.createElement("div");
    more.innerHTML='<span class="more-std">顯示更多</span>';
    
    std.parent().append(more);
    
    jQuery(".product-view .box-description .more-std").die().live("click",function(){
        std.text(stdStr);
        jQuery(this).text("隱藏");
        jQuery(this).attr("class","less-std");
    });
    
    jQuery(".product-view .box-description .less-std").die().live("click",function(){
        std.text(subStr);
        jQuery(this).text("顯示更多");
        jQuery(this).attr("class","more-std");
    });
    
}
其中die()是刪除事件繫結,live是新增事件繫結