如何将.live()转换为.on()

问题描述 投票:0回答:1

我想摆脱"TypeError: $(...).live is not a function"错误。代码如下,我试过但无法修复它。

    $(".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("")
    })
javascript jquery dom
1个回答
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+
});
© www.soinside.com 2019 - 2024. All rights reserved.