基本上我需要创建一个字符有限的textarea,但在开头只有一个单词,它们不能改变。
它必须是textarea的一部分,但我不希望用户能够删除它或编辑它。
我原以为我可以使用blur()
创建一个JQuery函数来阻止用户进行退格,但我还需要阻止他们选择该单词并删除它。
更新 我写了这个JQuery似乎很棒!但是我喜欢下面的解决方案,因为它不需要Javascript。
<script type="text/javascript">
var $el = $("textarea#message_create_body");
$el.data('oldVal', $el.val());
$el.bind('keydown keyup keypress', function () {
var header = "Header: ";
var $this = $(this);
$this.data('newVal', $this.val());
var newValue = $this.data("newVal");
var oldValue = $this.data("oldVal");
// Check to make sure header not removed
if (!(newValue.substr(0, header.length) === header)) {
$(this).val(oldValue);
} else {
$(this).data('oldVal', $(this).val());
}
});
</script>
答案 0 :(得分:8)
如果您只想让textarea显示前缀,您可以使用标签,更改位置,并缩进textarea内容。用户不会注意到差异。
您可以在此处查看其工作原理:http://jsfiddle.net/FLEA3/。
答案 1 :(得分:3)
将这个单词作为文本框旁边的标签怎么样?如果用户无法编辑文本框中的部分文本,则可能会造成混淆。
答案 2 :(得分:1)
如果您只是提醒用户他在textarea输入的内容将以“前缀”提交然后
,那会不会更好