WebKit 和 Mozilla 中的 -ms-clear 等价物是啥?

Posted

技术标签:

【中文标题】WebKit 和 Mozilla 中的 -ms-clear 等价物是啥?【英文标题】:What is -ms-clear equivalent in WebKit and Mozilla?WebKit 和 Mozilla 中的 -ms-clear 等价物是什么? 【发布时间】:2012-08-13 18:24:59 【问题描述】:

如图所示:http://msdn.microsoft.com/library/windows/apps/Hh465498

Mozilla 和 Webkit 是否有相同的选项?文本输入上的清除按钮适用于触摸屏应用程序。我不想要任何 javascript 变通办法,简单的 CSS 修复会很有帮助。

我已经知道这可以通过 JavaScript 实现,但是 IE 10 有一个用于显示清除按钮的内置解决方案,我想知道是否有其他浏览器有类似的选项?

【问题讨论】:

在回答中提供了我的 jQuery 插件链接 - 在所有浏览器中几乎都一样 【参考方案1】:

简短的回答是不。

如果不使用 JavaScript,就无法使用 CSS 生成一个可以清除输入内容的按钮。

清除按钮是 IE10 的内置功能。 -ms-clear 不是生成它的原因,而只是将其定位为样式的一种方式。

我应该提一下,Chrome 中的 <input type=search>​ 字段也会为您提供一个清除按钮,但不会在普通的 <input type=text>​ 字段上。

【讨论】:

【参考方案2】:

正在寻找相同的问题,所以我制作了一个 jQuery 插件 (TextClear) 来提供相同的功能: 这里是下载link


关于这背后的诡计:

在输入文本字段上设置背景图像并将其定位到右上角

  background-image: url('imagesUrl');
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 10% 90%;
  padding-right: 1%;

然后通过映射它的位置来处理它的点击事件(你可以查看源代码以及详细的逻辑)

【讨论】:

【参考方案3】:

您实际上无法使用 css 执行此操作..

但是你可以使用 jQuery,而且它很简单。你要做的就是这个……

html 代码:

<form id="myform" method="post">
<input type.... />
<input type.... />
<input type.... />
<input type="button" id="clear" name="clear" />
</form>

jQuery 代码:

$("#clear").click(function()
     $("#myform").reset();
);

这会起作用..但是表单标签是必要的。

【讨论】:

【参考方案4】:

你不喜欢 Javascript 吗?看看 jQuery 让这个过程变得多么简单:

标记

<form>
    <input type="text">
    <button>X</button>
</form>

jQuery

$("form").on("click", "button", function() 
    $("input").val("");
    return false;
);​​​​​

http://jsfiddle.net/QyE92/

使用 CSS,您可以设置按钮的样式并将其放置在适当的位置,以几乎完全模仿 Metro 界面中的“x”。

【讨论】:

我知道使用 JavaScript 是可能的,我已经有了解决方案,IE 10 默认显示关闭按钮,我想知道是否有其他浏览器会提供类似的解决方案或已经拥有它。

以上是关于WebKit 和 Mozilla 中的 -ms-clear 等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章

CSS CSS - CSS3 border-radius - 理解CSS3 Moz Mozilla KHTML Webkit Border Radius.css

Webkit 动画和变换

在 Mozilla 中使用抗锯齿和灰度时属性值无效

Mozilla计划秋季推出Firefox Premium

是否有用于 Windows / C# 开发的可嵌入 Webkit 组件? [关闭]

jQuery 工具函数