我试图让一些contenteditable
元素工作。显然,仅使用一个简单的 HTML5 属性就非常容易,但我希望能够使用该属性切换元素的数量并切换属性本身。例如,我的起始元素是 this <article class="column contentEditable">
,然后使用 class ofcontentEditable
来切换contenteditable
属性。但是因为我根据用户选择的内容复制了这个元素多次 - 我需要将.focus()
操作作为函数运行,然后在articles
添加更多内容时调用该函数。跟我到现在?希望如此。
这是我到目前为止的 jQuery(记住另一个函数将类设置contentEditable
为具有属性contenteditable
)
// content edittable
function makeEditable(action){
$('.contentEditable').focus(function(){
$(this).addClass('active');
$(this).prepend('<div class="toolbar" contenteditable="false">TEST</div>');
});
$('.contentEditable').blur(function(){
$(this).removeClass('active');
$(this).remove('.toolbar');
alert('test');
});
}
在某种程度上,这完美地工作,但是因为article
之前发出此 DOM 调用时可能已经存在,这意味着它运行了两次或更多次(取决于我在选择中更改选项的次数。如何地球我可以让每个项目只运行一次的功能,即不堆栈。
希望这一切都有意义,很难解释。