0

我有一个由某些事件控制的搜索表单,当它模糊时,该函数会检查该值是否为空白,如果是,它将默认搜索文本放回原处。

这是一个示例页面的链接: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);
    }

});

要查看故障,请在搜索字段中输入一些文本,然后将其删除并模糊搜索表单,输入字段将向左移动。

知道为什么会发生这种情况吗?就像我说的那样,如果我不更改文本,那么它就不会移动。我不知道这将如何影响页面中元素的位置。

4

1 回答 1

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);
        }

});
于 2013-09-27T04:21:30.433 回答