2017-09-27 61 views
0

我想擺脫"TypeError: $(...).live is not a function"錯誤。代碼如下,我已經嘗試過但無法解決它。如何將.live()轉換爲.on()

$(".search-text input[data-default], .gdlr-comments-area input[data-default]").each(function() { 
    var t = $(this).attr("data-default"); 
    $(this).val(t), $(this).live("blur", function() { 
     "" == $(this).val() && $(this).val(t) 
    }).live("focus", function() { 
     $(this).val() == t && $(this).val("") 
    }) 

回答

1

以下是新老方法做同樣的事情等效的語句:

$(selector).live(events, data, handler);    // jQuery 1.3+ 
$(document).delegate(selector, events, data, handler); // jQuery 1.4.3+ 
$(document).on(events, selector, data, handler); 

和更多的例子:

$("a.offsite").live("click", function() { 
    alert("Goodbye!"); // jQuery 1.3+ 
}); 
$(document).delegate("a.offsite", "click", function() { 
    alert("Goodbye!"); // jQuery 1.4.3+ 
}); 
$(document).on("click", "a.offsite", function() { 
    alert("Goodbye!"); // jQuery 1.7+ 
}); 
相關問題