如果内容是活动的,在页面重新加载后取消选择jQuery中的文本框
Deselect a text box in jQuery after page reload if content is active
我有一个Google即时样式jQuery搜索脚本,查询PHP文件,然后解析结果成HTMLdiv。当没有查询是活跃的文本框被自动选择,但当查询是活跃的,我希望它不被自动选择。我知道这可以通过使用.blur();
函数来实现,但是当查询处于活动状态并且页面已经重新加载时,我如何才能使它仅使用.blur();
函数呢?我希望大家都能理解我的问题。
$(document).ready(function () {
$('[id^=type_]').click(function () {
type = this.id.replace('type_', '');
$('[id^=type_]').removeClass('selected');
$('#type_' + type).addClass('selected');
return false;
});
$('#query').focus();
if (window.location.hash != "") {
var full = window.location.hash.replace('#', '');
var queryType = full.substring(0, full.indexOf("/"));
$('#type_' + queryType).click();
} else {
$('#type_search').click();
}
$('#query').keyup(function () {
var query = $(this).val();
var url = '/' + type + '/' + query + '/';
window.location.hash = '' + type + '/' + query + '/';
document.title = $(this).val() + ' - My Search Script';
$('#results').show();
if (query == '') {
window.location.hash = '';
document.title = 'My Search Script';
$('#results').hide();
}
$.ajax({
type: 'GET',
url: url,
dataType: 'html',
success: function (results) {
$('#results').html(results);
}
});
});
if (window.location.hash.indexOf('#' + type + '/') == 0) {
query = window.location.hash.replace('#' + type + '/', '').replace('/', '');
$('#query').val(decodeURIComponent(query)).keyup();
}
});
在审查了来源后,我发现我的怀疑是正确的。因为页面上只有一个文本框,一旦您模糊了查询框,它就会返回到它。你可以在你的html页面上设置另一个输入节点,例如
<input type="text" style="display:none" id="invisible">
,然后使用这个代码
if ($('#query').val().length) {
$('#invisible').focus();
}
,这应该会让你到达那里:)
啊哈!我明白你的意思。您可以使用JQuery中的.val()函数检查文本框中是否有任何内容。假设"#query"是文本框,您可以将该部分更改为
if($('#query').val().length == 0)
$('#query').focus();
相关文章:
- 使用javascript在页面加载时取消选中所有复选框
- .submit JS函数在Safari中不显示CSS覆盖(除非我取消页面加载)
- 取消绑定由加载jQuery'的外部脚本添加的事件;s的getScript函数
- 在简单模式中,取消单击时不会调用onClose事件..当我在simple-modal上加载另一个jquery对话框时
- 使用 ajax 加载的页面绑定和取消绑定事件处理程序
- 如何在 javascript 中取消打印功能后重新加载脚本
- 如何'取消缓存'当用户离开页面时,ajax加载了html
- 使用javascript一次加载/取消隐藏一个图像
- javascript html5音频预加载上取消了http请求
- 组件卸载时取消图像加载
- 如果将检测到请求中,则取消加载页面”;一些单词"镀铬加长件
- 如果代理遇到异常,ExtJS 4.0将取消存储加载
- 加载时blockUI,加载ASP.NET WebForm默认页后取消阻止UI
- 由于套接字池限制,需要取消外部javascript加载
- Jstree:当我重新加载树时,我不能将所有的复选框重置为默认取消选中
- 如果用户点击浏览器取消按钮,隐藏正在加载的gif的最佳方式
- 加载编辑/保存/取消表行图像的最佳方式
- 在取消时从ajax恢复到第一次加载值
- 取消ajax中的页面加载状态
- 页面加载取消事件