diff --git a/unpacked/jax/output/HTML-CSS/jax.js b/unpacked/jax/output/HTML-CSS/jax.js index c1e107b80..97fe7d482 100644 --- a/unpacked/jax/output/HTML-CSS/jax.js +++ b/unpacked/jax/output/HTML-CSS/jax.js @@ -760,15 +760,15 @@ parent.bbox = this.Measured(span,parent).bbox; }, MeasureSpans: function (SPANS) { - var spans = [], span, i, m, bbox, start, end, W; + var spans = [], span, i, m, bbox, start, end, W, parent; // // Insert the needed markers // for (i = 0, m = SPANS.length; i < m; i++) { span = SPANS[i]; if (!span) continue; - bbox = span.bbox; + bbox = span.bbox; parent = this.parentNode(span); if (bbox.exactW || bbox.width || bbox.w === 0 || bbox.isMultiline) { - if (!span.parentNode.bbox) {span.parentNode.bbox = bbox} + if (!parent.bbox) {parent.bbox = bbox} continue; } if (this.negativeBBoxes || !span.firstChild || (bbox.w >= 0 && !this.initialSkipBug) || @@ -787,11 +787,11 @@ // Read the widths and heights // for (i = 0, m = spans.length; i < m; i++) { - span = spans[i][0]; bbox = span.bbox; var parent = span.parentNode; + span = spans[i][0]; bbox = span.bbox; parent = this.parentNode(span); if ((bbox.w >= 0 && !this.initialSkipBug) || this.negativeBBoxes || !span.firstChild) { - W = span.offsetWidth; parent.HH = span.parentNode.offsetHeight/this.em; + W = span.offsetWidth; parent.HH = parent.offsetHeight/this.em; } else if (bbox.w < 0 && this.msieNegativeBBoxBug) { - W = -span.offsetWidth, parent.HH = span.parentNode.offsetHeight/this.em; + W = -span.offsetWidth, parent.HH = parent.offsetHeight/this.em; } else { W = spans[i][2].offsetLeft - ((spans[i][1]||{}).offsetLeft||0); } @@ -976,6 +976,15 @@ if (D) {frame.style.verticalAlign = D} return frame; }, + + // + // Find parent span (skipping over tags) + // + parentNode: function (span) { + var parent = span.parentNode; + if (parent.nodeName.toLowerCase() === "a") {parent = parent.parentNode} + return parent; + }, createStack: function (span,nobbox,w) { if (this.msiePaddingWidthBug) {this.createStrut(span,0)} @@ -1007,7 +1016,7 @@ }, placeBox: function (span,x,y,noclip) { span.isMathJax = true; - var parent = span.parentNode, bbox = span.bbox, BBOX = parent.bbox; + var parent = HTMLCSS.parentNode(span), bbox = span.bbox, BBOX = parent.bbox; if (this.msiePlaceBoxBug) {this.addText(span,this.NBSP)} if (this.imgSpaceBug) {this.addText(span,this.imgSpace)} // Place the box