IE8 compatibility fixes

This commit is contained in:
Nikolay Kim 2016-08-06 11:00:09 +03:00
parent f71ff4963f
commit 505bd1337a

View file

@ -100,7 +100,7 @@
cell.attrs.id = match[2]
} else if (match[1] === ".") {
classes.push(match[2])
} else if (match[3][0] === "[") {
} else if (match[3].charAt(0) === "[") { // #1195
var attrValue = match[6]
if (attrValue) attrValue = attrValue.replace(/\\(["'])/g, "$1")
cell.attrs[match[4]] = attrValue || true
@ -1081,14 +1081,19 @@
//
// #348 don't set the value if not needed - otherwise, cursor
// placement breaks in Chrome
try {
if (tag !== "input" || node[attrName] !== dataAttr) {
node[attrName] = dataAttr
// #1195 do not update attribute value if not changed
if (node[attrName] !== dataAttr) {
try {
if (tag !== "input" || node[attrName] !== dataAttr) {
node[attrName] = dataAttr
}
} catch (e) {
node.setAttribute(attrName, dataAttr)
}
} catch (e) {
node.setAttribute(attrName, dataAttr)
}
} else node.setAttribute(attrName, dataAttr)
} else if (node[attrName] !== dataAttr) {
node.setAttribute(attrName, dataAttr)
}
}
function trySetAttr(