以下是表单的代码:
<form onsubmit="return false;" role="search" method="get" id="searchform" action="window.location.reload()" autocomplete="off">
<div><label class="screen-reader-text" for="s">Search for:</label>
<input type="text" value="" name="s" id="s" class="searchbar" >
</div>
</form>
由于我实际上正在使用wordpress的“实时搜索”插件(搜索而不导航到另一个页面),并且它有一个错误,删除和重新输入相同的文本不再搜索,我想知道我是怎么回事如果用户只是按下搜索框中的输入,会让页面重新加载吗?
我的第二个问题是如何在加载页面时默认突出显示或选择搜索栏,就像Google一样?我试过这个:
<body onload"
$(function() {
$("input[name='s']").focus();
});
">
但它似乎没有做任何事情。任何这些问题的任何帮助将非常感谢!
答案 0 :(得分:0)
您没有在onload
函数中转义双引号。您可以通过使用反斜杠转义引号来解决此问题,但更好的解决方法是将此代码放在<script>
标记中(而不是内联):
<script>
$(function() {
$("input[name='s']").focus();
});
</script>
使用$()
这样的功能时,它会充当$(document).ready()
的快捷方式,因此无需将其附加到正文的onload
事件中。
只是澄清一下,修复它的另一种方法是使用转义单引号,如下所示:
<body onload"
$(function() {
$('input[name=\'s\']').focus();
});">
但我高度建议您将其放在<script>
标记中。最好不要使用内联JavaScript,而使用jQuery则不需要。