jQuery Live()到On()导致问题

jQuery Live()到On()导致问题,jquery,Jquery,好的,我相信这很简单,但我已经讨论了一百万次了,但不知道如何让下面的工作。以前我一直在使用live(),它工作得非常好。在使用最新jQuery切换到“on”之后,它就不再工作了。下面是我的代码的简化版本。我有一个搜索字段,它在键控时从ajax调用(搜索)返回一个类为“result”的项目列表。然后,我希望以这些返回的元素为目标 $("input#search").on("keyup", function(e) { // Set Timeout clearTimeout($.dat

好的,我相信这很简单,但我已经讨论了一百万次了,但不知道如何让下面的工作。以前我一直在使用live(),它工作得非常好。在使用最新jQuery切换到“on”之后,它就不再工作了。下面是我的代码的简化版本。我有一个搜索字段,它在键控时从ajax调用(搜索)返回一个类为“result”的项目列表。然后,我希望以这些返回的元素为目标

$("input#search").on("keyup", function(e) {
    // Set Timeout
    clearTimeout($.data(this, 'timer'));

    // Set Search String
    var search_string = $(this).val();

    // Do Search
    if (search_string == '') {
        $("ul#results").fadeOut();
    }else{
        $("ul#results").fadeIn();
        $(this).data('timer', setTimeout(search, 100));
    };

});
$("li.result").on("click", function(e) {
    $(".selected").removeClass("selected");
    $(this).addClass("selected");
});

如果这些元素是动态创建的(听起来像是这样),则需要将事件附加到已知的父级,然后进行相应的筛选:

$("body").on("click", 'li.result', function(e) {
    $(".selected").removeClass("selected");
    $(this).addClass("selected");
});

您是否查看了有关
$.live()
的文档?他们甚至提供了如何做到这一点的确切例子。很抱歉,这听起来并不冒犯,但自从多年前
.live()
被弃用以来,这个问题已经被问了数百次。哇,我需要去睡觉了。我本来有,但我的浏览器中打开了3个相同代码的实例,一定是看到了错误的输出。这很有效。