我有一个由某些事件控制的搜索表单,当它被模糊时,该函数会检查该值是否为空白,如果是,则将默认搜索文本放回原位。
以下是示例页面的链接: http://merkd.com/community
以下是相关功能:
// searchInput is a jQuery reference to the <input> field
// searchTextColor is the original font color of the unfocused form
// searchText is the original search text
$('#header form').on('blur', 'input', function() {
searchInput.css('color', searchTextColor);
// When I comment these lines out, it doesn't move
if ( searchInput.val() == '' ) {
searchInput.val(searchText);
}
});
要查看故障,请在搜索字段中键入一些文本,然后将其删除并模糊搜索表单,输入字段将向左移动。
知道为什么会这样吗?就像我说的,如果我不改变文本那么它就不会移动。我不知道这会如何影响页面中元素的位置。
答案 0 :(得分:1)
<强>问题强>
这就是问题发生的原因
参见萤火虫
<input type="text" value="Search Teams, Players, Etc." name="search">
<img title="Search" alt="Search" src="/engine/themes/img/search.white.focus.png">
<input type="submit" value="Search Teams, Players, Etc.">
<强>溶液强>
$('#header form').on('blur', 'input[name=search]', function() {// not use input other wise valuse also set in submit input box
searchInput.css('color', searchTextColor);
// When I comment these lines out, it doesn't move
if ( $(this).val() == '' ) {
$(this).val(searchText);
}
});