text中的前几个文字是固定的,用户只能在后面追加内容,而不能删除前面的内容,应该如何控制?
做个简单的例子可以参考下
[code="html"]
不能编辑部分
[/code]
思路就是让label向右偏移(margin-right),移到text的下面。
text的背景设成透明就可以显示label了。
再让text缩进(text-indent)出足够的空间给label。
根据文字,字体不同,会有偏差。需要调整上面两个参数。
用js控制光标的位置,获取焦点的时候禁止光标出现在那些字符前,监听键盘事件,禁止剪切,[code="java"]http://blog.csdn.net/blueling51/article/details/6980454[/code]
用JS需要照顾大量异常情况。
用label不是更好?
好奇怪的需求啊!
实现肯定是可以的,在文本框中监听键盘输入事件,还要考虑不能被剪切,也不能被粘贴的时候覆盖,等等。
等这些都实现之后,你会发现这个文本框真的是不伦不类、用户体验极差。
所以既然是不可编辑的内容,为什么放在文本框中呢?
或者你可以前面再弄各文本框放这部分内容,文本框禁止编辑,然后把样式调一下,让人看着自然点就行了。
1 你可以参考bootstrap form
[url]http://twitter.github.io/bootstrap/base-css.html#forms[/url]
在前面加一块固定的 最简单
[code="java"]
<br> var text1 = document.getElementById('text1');<br> text1.onkeydown = function(e){<br> var key = e.keyCode;<br> // console.log(key)<br> if(key==8||key==46){<br> return false;<br> }<br> }<br> [/code]</p>