javascript - 输入搜索字段在响应式网站的移动版本上无法正常工作

标签 javascript jquery html

我正在开发一个响应式网站,并且我在搜索输入字段上使用了以下内联脚本,以便默认显示搜索,当单击字段时,它将清除文本,以便用户可以输入新文本。

这在桌面版本上运行良好,但在移动版本上我必须单击两次才能将焦点设置在搜索字段上。

如果我单击一次并尝试输入它,则会将焦点设置在地址栏上。

我确信脚本在移动设备上会破坏它。

请告知我是否可以修复它或使用 jquery 脚本使其正常工作

<div class="search-container">
   <asp:TextBox ID="txtSearch" Text="Search"  CssClass="txtSearch" runat="server" onfocus="if(this.value=='Search')this.value='';" onblur="if(this.value=='')this.value='Search';" CausesValidation="True"></asp:TextBox>           
   <asp:Button ID="btnSearch" CssClass="btn-search" runat="server" Text="Search" onclick="btnSearch_Click" />
</div>

更新

渲染的 HTML 代码

<div class="search-container">

<input type="submit" class="btn-search btn" id="btnSearch" value="Go!" name="ctl00$btnSearch">

<input type="text" onblur="if(this.value=='')this.value='Search';" onfocus="if(this.value=='Search')this.value='';" class="txtSearch" id="txtSearch" value="Search" name="ctl00$txtSearch">

 </div>

更新:

在进一步排除故障时,我注意到相同的代码可以在 jsfiddle 上运行,但在 asp.net 网站上使用时会中断。

示例

http://jsfiddle.net/M5Z9v/2/

http://fiddle.jshell.net/M5Z9v/2/show/

最佳答案

为什么不使用 placeholder属性?这回避了可能有错误的内联脚本的问题。

删除:text="search"onbluronfocus 事件

<asp:TextBox  placeholder="search"/>

关于javascript - 输入搜索字段在响应式网站的移动版本上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22778895/

相关文章:

javascript - "Menu"到 "Close"文本转换

javascript - 如何使用多个生成的引导时间选择器字段

javascript - jquery去除烦恼

javascript - jQuery 验证方法永远不会被调用

iphone - iPad/iPhone 请停止解析我网站上的电话号码

javascript - 我们如何在 html 中分别将 "True"或 "False"字符串设置为复选框对其选中或未选中状态的响应?

css - 中心 2 DIV 在外部 DIV 内,文本对齐中心 + 显示内联 block

php - 如何在 NetBeans 的 java web 应用程序项目中运行 php

JavaScript/PHP 自动检查是否选择

javascript - Jquery 使用选择值更改脚本标签的 src