Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 div中的元素?_Javascript_Jquery_Css_Html - Fatal编程技术网

Javascript 如何禁用contenteditable div中的元素?

Javascript 如何禁用contenteditable div中的元素?,javascript,jquery,css,html,Javascript,Jquery,Css,Html,伙计,我有一个属性为contentEditable为true的div 我制作它是因为我想让它像一个文本区域一样,根据文本改变它的高度!完美 但是当我复制一个超链接并将其粘贴到我的div中而不是纯文本时,它具有锚元素…与其他元素相同。如果我选择任何网站的某个部分并将其粘贴到可编辑的div中,它将显示所有HTML。我希望该div只显示纯文本并禁用其中的所有元素 工作小提琴: 只要复制其中的任何HTML,它也会显示带有该HTML的youdiv。我希望它被禁用和div只显示纯文本 如果将事件侦听器添加到

伙计,我有一个属性为
contentEditable
为true的div

我制作它是因为我想让它像一个文本区域一样,根据文本改变它的高度!完美

但是当我复制一个超链接并将其粘贴到我的div中而不是纯文本时,它具有锚元素…与其他元素相同。如果我选择任何网站的某个部分并将其粘贴到可编辑的div中,它将显示所有HTML。我希望该div只显示纯文本并禁用其中的所有元素

工作小提琴:


只要复制其中的任何HTML,它也会显示带有该HTML的youdiv。我希望它被禁用和div只显示纯文本

如果将事件侦听器添加到可编辑内容div,则可以使用jQuery将RichText替换为纯文本。我从这里捕获了事件侦听器:


为了让其他人清楚,如果你用图像复制Richtext什么的,然后粘贴到div中,它会显示呈现的html。Aquib,为什么不使用textbox?有很多插件可以用来制作textarea高度dynamic@gideon我希望它像facebook和Google+一样扩展。谷歌还使用上述技术来扩展div,当键入或粘贴大量文本时,div的contenteditable为true,但当粘贴包含HTML的文本时,他们的textarea中没有HTML!我只想要那个男人!我已经尝试了三个小时的解决方案,伙计!没有什么能限制插件只能在一个文本区域上使用。我的回答更像是“理论上,如果你想限制内容可编辑框可以接受的内容,这就是你要使用的。”下面由阿披实K77in给出的答案是解决这个问题的正确方法。为了获得更无缝的选择,我推荐这个jQuery自动增长插件:棒极了!感谢真主,这个插件兼容所有文本区域,并向你致敬,你被选中来帮助我!:)
$('[contenteditable]').live('focus', function() {
    var $this = $(this);
    $this.data('before', $this.html());
    return $this;
}).live('blur keyup paste', function() {
    var $this = $(this);
    if ($this.data('before') !== $this.html()) {
        $this.data('before', $this.html());
        $this.trigger('change');
    }
    return $this;
});
//use this jQuery snippet to swap HTML for Text.
$('.editableContent').live('change', function() {
    $(this).html($(this).text());
    alert('changed');
});​