我有一个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
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
这是搜索框
<center>
<div align="center" style="padding:5px; text-align:center;">
<input type="search" id="gsearch" value="" />
</div>
</center>
<div id="googleres">
Run Code Online (Sandbox Code Playgroud)
这里工作正常:
.keyup 工作正常,你的代码必须是错误的
如果您正在动态加载搜索框,则需要使用:
$("#gsearch").live("keyup", function(event) {
//run code
}
Run Code Online (Sandbox Code Playgroud)