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');
});