我正在使用mathquill渲染一些乳胶。 我有一个可编辑的mathquill元素。如何清除mathquillified可编辑元素的内容?
我想知道如何以编程方式清除内容。
当我手动清除它(退格)时,一切正常,但如果我用jQuery从DOM中删除元素,它似乎使用了一些缓存,因为我得到旧值与新的值。
有人可以帮我吗?
谢谢
我正在使用mathquill渲染一些乳胶。 我有一个可编辑的mathquill元素。如何清除mathquillified可编辑元素的内容?
我想知道如何以编程方式清除内容。
当我手动清除它(退格)时,一切正常,但如果我用jQuery从DOM中删除元素,它似乎使用了一些缓存,因为我得到旧值与新的值。
有人可以帮我吗?
谢谢
试图手动编辑DOM会破坏东西。除非你想清除页面上的每个编辑mathquill元素
$('.mathquill-editable').mathquill('latex', '');
变化$('.mathquill-editable')
一个更具体的选择:使用MathQuill的API来代替,像这样。
这将清除文本框的内容,并且不会打破它的功能。但是,文本框会折叠成一个很小的6x6像素的正方形,除非用户点击它,否则不会展开为正常大小。当然不是功能障碍,但不是最漂亮的。
您可以通过空格键(source)
var space = $.Event('keydown');
space.bubbles = false;
space.cancelable = false;
space.charCode = 32;
space.keyCode = 32;
space.which = 32;
请注意,该事件被应用到mathquill对内部假textarea的,不可见的元素本身创建一个自定义按键按下事件解决这个问题。
$('.mathquill-editable').find('textarea').trigger(space);
此外,请确保选择器是特定于您要清除的元素。
最后一个问题 - 元素将不会被集中。不知道这是否是您的问题,但用户将不得不重新选择元素以继续编辑它。为了解决这个问题,必须应用.focus()
方法:
$('.mathquill-editable').find('textarea').focus();
也许API改变了,我的mathquill使用代码清晰内容如下
//let MQ = MathQuill.getInterface(MathQuill.getInterface.MAX);
MQ.MathField($('.mathquill-editable')).latex("");
如果您发布,我们也许能够过的代码; )和“渲染一些乳胶”?这是一个错字吗? – AdamJeffers