使用jQuery UI制作一个可拖动的MathML方程
Making a MathML equation draggable with jQuery UI
我最近试图用HTML显示数学,并使其可以拖动我显示的方程。为此,我使用了jQuery UI。
var div = $('<div id="equation">y = m * x + b</div>');
$("body").append(div);
div.draggable();
这很好。
然后我决定使用MathJax和MathML来呈现我的方程,所以这变成了
var div = $('<math xmlns="http://www.w3.org/1998/Math/MathML" id="equation"><mi>y</mi><mo>=</mo><mi>m</mi><mo>*</mo><mi>x</mi><mo>+</mo><mi>b</mi></math>');
$("body").append(div);
div.draggable();
这不好用。
相反,我得到了一个错误:
Uncaught TypeError: Cannot use 'in' operator to search for 'position' in null
我不确定为什么会出现这个错误,所以任何指导都会非常有帮助。我非常想让我的方程变得可拖动,而切换到MathML是我唯一改变的事情。
当调用.draggable()
时,jQuery似乎解析了div
,这导致了一个错误。
一种解决方案是在创建draggable
之后添加MathML:
var div = $('<div id="equation">y = m * x + b</div>');
$("body").append(div);
div.css('cursor','move');
div.draggable();
div.html('<math xmlns="http://www.w3.org/1998/Math/MathML" id="equation"><mi>y</mi><mo>=</mo><mi>m</mi><mo>*</mo><mi>x</mi><mo>+</mo><mi>b</mi></math>');
jsfiddle:http://jsfiddle.net/7v8wQ/5/.这感觉有点像黑客攻击,但它很有效,而且比黑客攻击jquery代码容易得多。
相关文章:
- 我怎么能把它做成这样一个图像就不能拖动了
- 将SVG元素拖动到另一个SVG元素上
- 草皮缓冲区和一个可拖动的标记
- 如何在D3中添加一个强制拖动事件,并使节点停留在我离开它的地方
- 当我在另一个画布上同时拖动另一个图像时,如何移动图像
- 使用jQuery UI制作一个可拖动的MathML方程
- 可拖动元素在悬停在另一个'It’s draggable
- 如何禁用一个可拖动的,即使掉到了错误的可拖动中
- 当一个元素被拖动到另一个容器并被捕捉到该容器时,如何强制jquery将其居中
- 是否有一个JS库可以让我在网格中制作可拖动和可调整大小的磁贴,就像在iPhoto Journal中一样
- closure-library在窗格之间拖动一个goog.fx.DragListGroup item
- “可拖动不是函数”,当在另一个函数中时
- 为什么我的 UI/可拖动“创建”事件被传递一个空的“ui”对象
- 用鼠标单击并拖动绘制一个矩形 - JavaScript
- 三.js约束对象拖动到另一个对象的表面
- 如何创建一个“;收藏夹栏”;通过将表格元素拖动到下拉菜单中
- html5:将tr拖动到另一个表中
- 如何在拖动另一个元素时在鼠标光标下获取元素
- 如何存储拖动&将项目放入cookie,然后在另一个页面中检索
- 两个标记,一个固定,一个拖动