Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何:使用contenteditable=";控制字符计数p标记;真的;? 问题:_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何:使用contenteditable=";控制字符计数p标记;真的;? 问题:

Javascript 如何:使用contenteditable=";控制字符计数p标记;真的;? 问题:,javascript,jquery,html,Javascript,Jquery,Html,如何使用新的html5属性contenteditable=“true”控制p标记内的字符数 <p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p> <div id="textarea_feedback"></div> 我已经了解了如何使用文本区域执行此操作: (工作)

如何使用新的html5属性contenteditable=“true”控制p标记内的字符数

<p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p>
<div id="textarea_feedback"></div>

我已经了解了如何使用文本区域执行此操作:
(工作)

但是我如何使用p标签来实现这一点呢?
(不工作)

<p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p>
<div id="textarea_feedback"></div>
HTML

<p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p>
<div id="textarea_feedback"></div>

元素没有值。这是用于
输入
文本区域

<p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p>
<div id="textarea_feedback"></div>
您想使用
text()

<p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p>
<div id="textarea_feedback"></div>

工作示例:

元素没有值。这是用于
输入
文本区域

<p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p>
<div id="textarea_feedback"></div>
您想使用
text()

<p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p>
<div id="textarea_feedback"></div>

工作示例:

@PaulRoub answer的问题是,如果插入符号光标超过字符限制,则会移动到文本的开头。我用插件解决了这个问题。以下代码说明了具有
id=“#text_area”

<p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p>
<div id="textarea_feedback"></div>

var限值=4000;
var$chars_left=limit-$(“#text_area”).text().length;
$('char#u limit').text($chars_left)//char_limit是用作计数器的跨度元素
$('#text_area')。在('input',函数(e)上
{
var$char=$('#text_area').text().length;
$chars_left=限制-$char;
$('char#u limit').text($chars_left);
如果($char>4000)
{
var$text=$('#text_area').text().substr(03999);
$('char#u limit')。文本(0);
$('#text_area').html($text);
$('#text_area').caret(3999);//这里是jquery.caret插件,它保持光标的位置
}
})

@PaulRoub answer的问题是,如果插入符号光标超过字符限制,则会移动到文本的开头。我用插件解决了这个问题。以下代码说明了具有
id=“#text_area”

<p id="textarea" maxlength="99" contenteditable="true">This content is editable with a max character count of 99.</p>
<div id="textarea_feedback"></div>

var限值=4000;
var$chars_left=limit-$(“#text_area”).text().length;
$('char#u limit').text($chars_left)//char_limit是用作计数器的跨度元素
$('#text_area')。在('input',函数(e)上
{
var$char=$('#text_area').text().length;
$chars_left=限制-$char;
$('char#u limit').text($chars_left);
如果($char>4000)
{
var$text=$('#text_area').text().substr(03999);
$('char#u limit')。文本(0);
$('#text_area').html($text);
$('#text_area').caret(3999);//这里是jquery.caret插件,它保持光标的位置
}
})

谢谢@Paul Roub!有一个问题,我注意到“textarea_feedback”中的文本在用户开始在p标记中键入之前不知道其真实字符数。。你如何设置它自动知道(如果p标签已经有文本了)?我还注意到它也不知道什么时候停止!实际上,它将超出字符计数,并开始添加-negative-numbers。我在启动时将示例链接更新为count;如果超过最大长度,它还会截断文本。但是,在某些浏览器中,光标将移动到文本的开头。我将把这个问题留给其他人来解决(也许你可以单独提问)。谢谢@Paul Roub!有一个问题,我注意到“textarea_feedback”中的文本在用户开始在p标记中键入之前不知道其真实字符数。。你如何设置它自动知道(如果p标签已经有文本了)?我还注意到它也不知道什么时候停止!实际上,它将超出字符计数,并开始添加-negative-numbers。我在启动时将示例链接更新为count;如果超过最大长度,它还会截断文本。但是,在某些浏览器中,光标将移动到文本的开头。我将把这个问题留给其他人来解决(也许你可以作为一个单独的问题来问)。