2017-09-27 3 views
0

Je veux me débarrasser de "TypeError: $(...).live is not a function" erreur. Le code est ci-dessous, j'ai essayé mais je n'ai pas réussi à le réparer.Comment faire pour convertir .live() en .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("") 
    }) 

Répondre

1

Voici les moyens nouveaux et anciens à faire la même chose que des déclarations équivalentes:

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

et d'autres exemples:

$("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+ 
});