JQUERY .keyup事件无法正常工作

时间:2011-07-13 00:36:30

标签: jquery

我有一个jquerymobile网站。其中一个页面有一个带有.keyup事件的搜索框。

当您开始输入或按Enter键时,它会触发此事件。

如果我从我的主页访问此页面,则触发器不起作用。如果我在这个页面上并重新加载页面,那么触发器就可以工作了。该网站是一个文件,其中包含不同的DIV作为页面。

唯一可行的方法是先重新加载页面。

有什么想法吗?谢谢 这是加载在标题中。

$(document).ready(function() {
            $.ajaxSetup ({  
                cache: false  
            });  

$("#gsearch").keyup(function(event) {
                clearTimeout($.data(this, 'timer'));
                var wait = setTimeout(gsearch, 600);
                $(this).data('timer', wait);
            }); 



            function gsearch() {
                var len = 0;
                var searchdata = '';
                searchdata = $("#gsearch").val();
                len = searchdata.length;
                if ( len >= 2 ) {
                //$("#gtemp").html("<center><img src='ajax-loader.gif'></center>");
                //$.mobile.pageLoading();
                    $.ajax({  
                         // code here
                }
                    });

                }

            } 

这是搜索框

<center>
                <div align="center" style="padding:5px; text-align:center;">
                <input type="search" id="gsearch" value="" />
                </div>
            </center>

            <div  id="googleres">

1 个答案:

答案 0 :(得分:9)

在这里工作正常:

http://jsfiddle.net/5LEbh/

.keyup工作正常,你的代码必须是错误的

如果您要动态加载搜索框,则需要使用:

$("#gsearch").live("keyup", function(event) {
  //run code
}