在Xcode 11 Beta版本和iOS 13模拟器中,访问TextField _placeholderLabel.textColor标签键时会崩溃。
用于应用占位符文本颜色的键。
[textfield setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];
Run Code Online (Sandbox Code Playgroud)
“ NSGenericException”-原因:“禁止访问UITextField的_placeholderLabel ivar。这是一个应用程序错误”
tldr: 尽管没有对占位符属性的原生支持,为什么(在inputElemnt中'placeholder')在IE8中等于true?不是(元素中的属性)检查本机支持的好方法吗?Javascript库Modernizer使用它.
长:
我有一个名为Defaultvalue的小型Jquery插件(http://unwrongest.com/projects/defaultvalue/).我有一个名为Placeholder的小型Jquery插件(https://github.com/janjarfalk/jquery.placeholder.js).它基本上是HTML5占位符属性的后备.
在最近的更新中,我添加了这三行代码.希望如果浏览器本身支持占位符属性,则不会运行Defaultvalue.
if('placeholder' in this){
// this is an input-element
return false;
}
它似乎适用于除IE8和IE7之外的大多数浏览器.由于某种原因,它在此找到关键的"占位符",但我认为,IE7/IE8中没有对占位符属性的任何支持.
我的代码受到了Javascript库Modernizer(http://www.modernizr.com/)中此代码的启发.
(function(props) {
for (var i = 0, len = props.length; i < len; i++) {
attrs[ props[i] ] = !!(props[i] in inputElem);
}
return attrs;
})('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '));
我错过了什么?
我正在尝试使用Swing创建GUI.我的问题是,我有一个文本字段,但我希望它有一个"占位符"(如在html中).我在这里和那里读到它可以通过覆盖textfield的paint()来完成.
自生成我的代码后,我发现我需要使用"自定义创建代码"来覆盖生成的代码.
这是我在"自定义创建代码"字段中添加的内容
new javax.swing.JTextField()
{
String test = super.getText();
String hint = "Username";
public void paint(Graphics g)
{
if ( test == null || test.length() < 1 ) {
g.setColor( Color.red );
g.drawString(hint, 0, 0);
}
g.setColor(Color.BLACK);
super.paint(g);
}
}
Run Code Online (Sandbox Code Playgroud)
这会生成以下输出
javax.swing.JTextField username = new javax.swing.JTextField()
{
String test = super.getText();
String hint = "Username";
public void paint(Graphics g)
{
if ( test == null || test.length() < 1 ) {
g.setColor( Color.red );
g.drawString(hint, 0, 0);
}
g.setColor(Color.BLACK); …Run Code Online (Sandbox Code Playgroud) 我正在为我的项目使用Bootstrap.除Internet Explorer 8及更低版本外,占位符对所有浏览器都显示正常.
是否有任何解决方案可以在IE8中获得占位符支持?
我有一个带输入字段的表单.每个输入字段都有一个占位符属性.还有一个链接显示同一表单的可打印版本.
我的问题是,如果我保持占位符属性不变并且输入字段为空,则实际打印占位符,这不是很好.
我正在寻找一种解决这种不幸行为的方法.现在,我唯一能想到的是在javascript中遍历DOM并在给出可打印版本时删除所有占位符属性.当然,在恢复到正常页面视图时,也必须恢复占位符属性.
这并不难,但也不是很优雅.我想知道是否有更好的解决方案.
我已经看到了href="javascript:void(0)",我已经看到href="javascript:;" 有什么理由我不会只使用它href="javascript:"吗?
编辑:让我说清楚:我正在将其与一个结合起来,onclick并且return false如果有必要使用替代方案,则不反对使用.当然,这只有在替代方案更有意义的情况下才能实现javascript:.
另外,我还没有在第一段中看到我的问题答案(显然我认为).谢谢,大卫.:)
我已经看到了
href="javascript:void(0)",我已经看到href="javascript:;"有什么理由我不会只使用它href="javascript:"吗?
如何确定浏览器是否支持HTML5占位符标记,以便我可以决定是否挂钩我的jQuery占位符插件.
有没有办法使用占位符<input type=number>?
有没有办法使用Angular 2的i18n翻译输入文本字段的占位符文本?
<input placeholder="hello world" i18n>
我在文档中没有看到任何关于此的内容:https: //angular.io/docs/ts/latest/cookbook/i18n.html
::placeholder当我发现奇怪的东西时,我正在使用Codepen(Chrome 59.0.3071)上的伪元素.(请看我的JSFiddle)
简而言之,此CSS不应启用::placeholder2s 以上的颜色转换:
input::placeholder {color:red;transition:2s;}
input:hover::placeholder {color:green}
Run Code Online (Sandbox Code Playgroud)
使用Firefox,有超过上悬停2秒的时间间隔内没有颜色转变(这似乎根据是正确的这一部分是W3C规范的和此部分的不同的一个的-遵循螺纹的::first-line伪元素),而是有是一种立即向绿色的过渡;
但是,使用Chrome的同一个JSFiddle 确实会::placeholder在2秒的时间内显示颜色转换,根据规格,这似乎是不正确的.
这是这个版本的Chrome中的一个错误(如果是这样,是否正在解决?)或者这是对我对CSS缺乏了解的指控?
placeholder ×10
javascript ×4
html ×2
html5 ×2
input ×2
jquery ×2
angular ×1
css ×1
href ×1
html-input ×1
ios13 ×1
java ×1
numbers ×1
printing ×1
swing ×1
textfield ×1
uitextfield ×1
xcode11 ×1