栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用CSS检测输入中是否包含文本-我正在访问的页面上不受控制吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用CSS检测输入中是否包含文本-我正在访问的页面上不受控制吗?

时尚 无法做到这一点,因为CSS无法做到这一点。 CSS没有(伪)

<input>
值选择器。看到:

  • W3C选择器规格
  • Mozilla / Firefox支持的选择器
  • 跨浏览器,CSS3支持表

:empty
选择仅指子节点,而不是输入值。
[value=""]
确实 有效;但仅适用于 初始 状态。这是因为节点的
value
属性 (CSS可以看到)与节点的
value

属性 (由用户或DOM javascript更改,并作为表单数据提交)不同。

除非你只关心初始状态, 必须 使用一个userscript或Greasemonkey的脚本。
幸运的是,这并不难。以下脚本将在Chrome或安装了Greasemonkey或scriptish的Firefox中运行,或在任何支持用户脚本的浏览器(即除IE之外的大多数浏览器)中运行。

此jsBin页面上查看CSS限制的演示以及javascript解决方案。

// ==Userscript==// @name     _Dynamically style inputs based on whether they are blank.// @include  http://YOUR_SERVER.COM/YOUR_PATHvar inpsToMonitor = document.querySelectorAll (    "form[name='JustCSS'] input[name^='inp']");for (var J = inpsToMonitor.length - 1;  J >= 0;  --J) {    inpsToMonitor[J].addEventListener ("change",    adjustStyling, false);    inpsToMonitor[J].addEventListener ("keyup",     adjustStyling, false);    inpsToMonitor[J].addEventListener ("focus",     adjustStyling, false);    inpsToMonitor[J].addEventListener ("blur",      adjustStyling, false);    inpsToMonitor[J].addEventListener ("mousedown", adjustStyling, false);    //-- Initial update. note that IE support is NOT needed.    var evt = document.createEvent ("HTMLEvents");    evt.initEvent ("change", false, true);    inpsToMonitor[J].dispatchEvent (evt);}function adjustStyling (zEvent) {    var inpVal  = zEvent.target.value;    if (inpVal  &&  inpVal.replace (/^s+|s+$/g, "") )        zEvent.target.style.background = "lime";    else        zEvent.target.style.background = "inherit";}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/392788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号