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

标签 javascript jquery dom

我想摆脱 “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("")
    })

最佳答案

以下是与等效语句执行相同操作的新方法和旧方法:

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

关于javascript - 如何将 .live() 转换为 .on(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46458634/

相关文章:

javascript - AJAX精简技巧?

javascript - document.documentElement 什么时候可以为空?

dom - 有浏览器实现了 DOM3 EventListenerList 吗?

asp.net - 如何在 asp.net 按钮回发之前运行 javascript 函数?

javascript - 通过交互更新凹坑多系列图表中的系列顺序

javascript - 检查类是否包含img src,如果不包含,则隐藏它。 jQuery

javascript - jQueryUI 可排序更改事件在一次更改时多次触发

javascript - free-jqgrid:以编程方式进行本地多重搜索?

javascript - 滚动时新的 ajax 请求

PHP DOMDocument 命名空间