在HTML5中,search输入类型在右侧显示一个小X,将清除文本框(至少在Chrome中,可能是其他文件框).有没有办法检测这个X在javascript或jQuery中被点击的时间,比如检测到什么时候单击该框或进行某种位置点击检测(x-position/y-position)?
我已经测试了input[type="search"]它,并且(x)在应用引导程序样式时它没有显示清晰的图标.
我正在尝试制作一个看起来不错的搜索栏.我做的是,我做了一个搜索栏的图像,我将图像添加到输入的背景,我正在编辑字体将出现的位置和大小.我找不到编辑方式的唯一方法是当我使用输入类型搜索时出现的小'x'按钮.我想稍稍向左移动,以便修复我的搜索栏图像.
这是我的HTML:
<input id="search" name="Search" type="search" value="Search" />
Run Code Online (Sandbox Code Playgroud)
这是我的CSS:
#search{
width: 480px;
height: 49px;
border: 3px solid black;
padding: 1px 0 0 48px;
font-size: 22px;
color: blue;
background-image: url('images/search.jpg');
background-repeat: no-repeat;
background-position: center;
outline: 0;
}
Run Code Online (Sandbox Code Playgroud) 某些浏览器(如Chrome)会在输入上提供额外的搜索取消按钮type="search",如下图所示.
通常keyup,附加检查足以测试用户是否删除了输入字符串(不是右键点击帐户).但是,如果用户通过webkit浏览器提供的特殊取消按钮取消输入,则既keyup不会change触发也不会触发.
这些取消按钮是否有某种特殊事件?或者我是否必须检查已存在的事件之一click?

这不是重复的.虽然我基本上在寻找与其他帖子相同的结果,但我想以不同的方式去做.他们正在使用背景图片,我想用一个<span>.
我正在尝试创建一个文本框,以便当用户输入文本框时,右侧会显示"X".但是,当盒子里没有文字时,我不希望"X"出现,就像现在一样.
我尝试将"X"设为白色,并在滑动时将其转换为颜色,但是当你将mousedown拖到它上面时仍然可以选择.
我想我需要将它放在文本框中(不知何故),然后将其滑动到右侧并使用隐藏它overflow: hidden.我也尝试过这样做,但我无法随心所欲.
本<span>应该是"落后"的白色背景时,它没有显示.中期过渡应如下所示:
这可能在CSS中,如果是这样,我该怎么办?
我想在我的应用程序中为搜索文本框添加一个清除按钮.是否有现成的Ajax扩展程序或JQuery功能来实现它?

提前致谢.
<input type="search" />
input[type="search"]
{
-webkit-appearance: searchfield
}
Run Code Online (Sandbox Code Playgroud)
当您在输入中键入内容时会显示清除(x)按钮,但是如何在Firefox中执行相同的操作?
谢谢!
我正在构建一个带有“清除值”按钮的表单字段 - 就像在 iOS 上一样,您可以点击一个小“X”图标来清除搜索字符串。
我的问题是:我使用字段的 blur 事件对输入格式进行错误检查,并且我对“X”图标的实现总是触发 blur 事件。
我很难过:如果我将图标作为背景图像放在输入字段中,我不再有点击目标,并且如果我在字段顶部使用标准 div 或 img 分层,当然会触发模糊。
我正在使用 jQuery,但这可能是一个通用的 CSS/javascript 问题。
例如这里接受的解决方案:输入文本 中的清除图标是原始意图的一个很好的例子,但这也会在您附加一个时触发模糊事件。
更新:
似乎最好的方法是使用错误检查功能 - 但我不喜欢它,所以我一直在寻找......结果我不知道contenteditableHTML5中的属性。
除了对表单数据不使用表单字段的明显可访问性问题,以及忘记不能执行 HTML5 的老式浏览器之外,还有什么理由不使用 contenteditable div 标签重新创建输入字段?