我有一个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">
答案 0 :(得分:9)
在这里工作正常:
.keyup
工作正常,你的代码必须是错误的
如果您要动态加载搜索框,则需要使用:
$("#gsearch").live("keyup", function(event) {
//run code
}