我在移动版Safari 8.1版上遇到了表单字段的问题.这似乎是移动版Safari 8的所有版本的错误.
当您在输入中键入文本并且该文本比输入本身长时,光标会在您键入时保持向右移动 - 这是正确的.问题是,当您按住选择并尝试向左移动到隐藏的文本时,您无法滚动.同样,如果在输入外部选择,则无法向右滚动以查看隐藏文本.
您唯一的选择是选择全部并删除.
这个问题的解决方法是什么?我上传了一个包含不同输入类型的示例页面,所有这些行为都存在.
小提琴:http://jsfiddle.net/b7kmxaL6/(访问移动游猎)
<form action="">
<fieldset>
<input type="text" class="text">
<input type="email" class="email">
<input type="password" class="password">
</fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)
我似乎找不到一种方法来覆盖以下规则InputBase
:
.MuiInputBase-root.Mui-disabled {
color: rgba(0, 0, 0, 0.38);
}
Run Code Online (Sandbox Code Playgroud)
我要应用的规则是:color: "rgba(0, 0, 0, 0.75)"
我尝试过使用类名和类,但没有任何效果。有任何想法吗?
textField: {
marginLeft: theme.spacing(1),
marginRight: theme.spacing(1),
'&:disabled': {
color: "rgba(0, 0, 0, 0.75)"
}
},
disabled: {
color: "rgba(0, 0, 0, 0.75)",
'&:disabled': {
color: "rgba(0, 0, 0, 0.75)"
}
}
<TextField
disabled
id="outlined-disabled"
label="Disabled"
defaultValue="Hello World"
className={classes.textField}
classes={{
root: classes.disabled,
disabled: classes.disabled
}}
margin="normal"
variant="outlined"
/>
Run Code Online (Sandbox Code Playgroud)
Codesandbox:https://codesandbox.io/s/material-demo-3xb7n
假设我有一个大小为 10 的圆形实心画笔,如何更改光标以向用户指示将在画布上绘制的内容?
我看到这些是 a 的一个选项freeDrawingCursor
,但那是针对常规光标的,例如十字准线或指针。
有任何想法吗?
我正在使用导入数据数组的组件模板生成表单字段元素.我希望能够隐藏其中一些元素,并在满足其他元素的标准时显示它们; 这在表单字段中相当常见,例如,当您选择项目A时,表单字段X出现,当您选择项目B时,表单字段X将被隐藏.
我已经在React docs网站上阅读了很多关于条件渲染的内容,但是这些示例并不适用于我正在做的事情,尽管"渲染中的预防组件"部分很接近.
我做了一个Codepen演示我的设置,我想要做的是显示第二个字段,如果满足第一个字段的条件(在这个例子中,第一个字段应该输入5个字符).我已经通过了一个道具来设置最初的隐藏,但我怎么能找到那个特定的隐藏元素并取消隐藏呢?
// Field data
const fieldData = [{
"type": "text",
"label": "First",
"name": "first",
"placeholder": "Enter first name",
"hidden": false
}, {
"type": "text",
"label": "Surname",
"name": "surname",
"placeholder": "Enter surname",
"hidden": true
}];
// Get form data
class FormData extends React.Component {
constructor(props) {
super(props);
this.state = {
items: props.data
};
}
render() {
let els = this.state.items;
return els.map((el, i) => {
return <Input key={i} params={el} />
});
}
} …
Run Code Online (Sandbox Code Playgroud) 我想在许多声明的变量上运行相同的方法.
比如说我有:
var searchBtn = $('#search');
var signInBtn = $('#signin');
signInBtn.removeClass('active');
searchBtn.removeClass('active');
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
$(signInBtn, searchBtn).removeClass('active');
Run Code Online (Sandbox Code Playgroud)
但我不能,searchBtn
在这种情况下被解释为范围(我认为).
我的问题是,如何组合定义的对象并对它们运行相同的方法?
注意:只是为了澄清,我不是在谈论使用ID,类等来定位元素,我在谈论已被定义为变量的对象.
假设我有一个 HTML5 画布(在本例中使用 fabric.js),我想更改画布上的光标以表示已选择的任何画笔大小和颜色。我认为应该有一种方法可以通过使用 JS 动态更改 SVG 的属性(大小和颜色)来做到这一点,这样我们就不必使用多个图像。关于这是否可能的任何想法?
var canvas = new fabric.Canvas(c, {
isDrawingMode: true,
freeDrawingCursor: 'url("img/cursor.svg"), auto'
});
Run Code Online (Sandbox Code Playgroud) 我正在使用React,带有JSS的Material UI和React Router。
我想<NavLink>
加入一个活动类,如:
<NavLink to={'/dashboard'} activeClassName={classes.active}
<button className={classes.btn}>Link</button>
/>
Run Code Online (Sandbox Code Playgroud)
该类可以很好地添加到父级中,但是如果是子类,则在将样式应用于子级按钮时遇到问题。定位元素时,它起作用,但不适用于类。
我已经研究过使用嵌套的JSS,但这仍然行不通。有任何想法吗?
active: {
'& .btn': { // This doesn't work
backgroundColor: '#2A354F'
},
'& button': { // This works
backgroundColor: '#2A354F'
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Cycle2的Carousel寻呼机,这里的示例非常类似于设置.
我的问题是前一个和下一个滑块工作正常,但点击旋转木马不会改变另一个滑块中的幻灯片.它在上面链接的Cycle2示例中工作.
检查小提琴中的JS:
示例中的CSS已被破坏但无关紧要,您可以看到问题所在.如果单击下一步它循环但单击轮播中的图像不会更改滑块.
我总是在控制台中收到错误消息:
[cycle2] goto: invalid slide index
Run Code Online (Sandbox Code Playgroud) 我有许多按钮,我想active
在选择另一个按钮时打开该类,并在再次选择该类的按钮时切换该按钮active
(即删除该类)。
另外,this
当我正确返回所选元素时console.log
。
该行this.classList.toggle('active');
正在添加类但不会删除它。知道为什么吗?
var controls = document.querySelectorAll('.controls > button');
for (var i = 0; i < controls.length; i++) {
controls[i].addEventListener('click', btnClick, false);
}
function btnClick() {
[].forEach.call(controls, function(el) {
// Remmove active class from all buttons
el.classList.remove('active');
});
this.classList.toggle('active');
}
Run Code Online (Sandbox Code Playgroud) 创建新的结构对象时,您可以指定它出现在画布上的位置。有没有办法将生成的对象附加到鼠标,然后将对象放置在点击(或触摸)上?
例如,生成出现在画布上的圆的方法。
var circle = new fabric.Circle({
radius: 20, fill: 'green', left: 100, top: 100
});
Run Code Online (Sandbox Code Playgroud) 我想获取一串数字并添加逗号为长数字创建更具可读性的格式。通常我会使用,toLocaleString()
但它在受控输入下无法按预期工作。
在我的代码中,我正在做:
handleChange(event) {
const parseNumber = parseInt(event.target.value);
const toLocale = parseNumber.toLocaleString();
this.setState({ value: toLocale });
}
Run Code Online (Sandbox Code Playgroud)
它在输入 3 个数字后重置该字段 - 有什么想法吗?
在我的项目中,我正在创建一个用作克隆源的对象.
我想在运行时不保存该源对象,JSON.stringify(canvas);
因为我正在使用撤消/重做函数,并希望在没有源对象的情况下渲染克隆对象.
有没有办法告诉Fabric忽略保存特定对象作为stringify
方法的一部分?我知道我可以在保存之前简单地删除源对象,但我不想因为各种原因这样做.
javascript ×8
fabricjs ×4
reactjs ×4
html ×3
jquery ×2
jss ×2
material-ui ×2
css ×1
ios ×1
react-router ×1
safari ×1