在keyup事件之后我希望更改是永久性的

时间:2015-01-09 11:07:34

标签: javascript jquery keyup

我想使用keyup事件将类添加到列表中,但是当调用keyup事件时,它会将类添加到列表中。几秒钟后,列表中的类将被删除,然后我尝试在回调函数上使用setinterval。它工作,但如果我尝试浏览列表,它表现得很有趣。 这是代码

(function(){
    var AutocompleteActivities = {

        init: function(config)
        {
            this.config = config;
            $("#keywords").on("keyup", this.confirm);

        },
        confirm: function(e)
        {
            var self = AutocompleteActivities;
            var con = self.config.div; 
            key = e.keyCode;
            press = e.timeStamp
            //check whether there is a key up invent in the search textfield and up or down arrow is press
            if(press != "" && e.keyCode == 40 || e.keyCode == 38)
            {
                if(con.css("display") == "block")
                {

                    setInterval(function(){
                        self.navigation(key)},500)
                }

            }

        },
        navigation: function(key)
        {
            var con = this.config.div, // #options - the container of the autocomplete
            li = con.find("ul").find(">li"),
            totalLi = li.length,
            firstLi = li.first(),
            current = 1; // it should be zero for debug reasons it is one
            if(key == 40)
            {
                if(current != 0) // check whether the autoComplete selection is the first in the 
                {
                    firstLi.addClass("selection")
                    ++current
                    con.find("ul li").filter(function() {
                        return $(this).hasClass("selection");
                    }).next().addClass("selection").end().removeClass("selection")
                    return false;

                }

            }



        }
    }
    AutocompleteActivities.init({
        div: $("#options"),
    })

})()

0 个答案:

没有答案