如何在chrome浏览器的输入字段中使用readonly属性时启用光标移动,并与firefox配合使用。这是为了观察输入框中的完整值,该值不可编辑。还有其他方法可以覆盖此内容吗?
Chrome确实有一个很好的理由,那就是Chrome不允许光标在只读文本框中闪烁,这是因为光标闪烁表明用户可以键入该控件。
因此,首先要从UX的角度来决定是否要违反该原则!
如果确实如此,则可以通过使用自定义data-
属性来指定您希望输入为只读,然后忽略所有非导航键,从而伪造只读行为。
var allowedKeys = {
"37" : "arrow-left",
"38" : "arrow-up",
"39" : "arrow-right",
"40" : "arrow-down",
"9" : "tab",
"27" : "esc"
}
$("input[data-readonly=readonly]").keydown(function(e){
console.log(e.which);
if (!allowedKeys[e.which]) {
e.preventDefault();
}
});
您可以在这里看看小提琴。http://jsfiddle.net/BUcC2/1/
如果您打算将其作为应以标准方式运行的普通输入控件,则建议您不要使用此方法,而应坚持使用浏览器对显示html的最佳方式的解释:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句