我对这段代码有疑问:
var el = $('div#editor');
el.find('*[contentEditable]').removeAttr('contentEditable');
它在 Chrome 4/5/6 中运行良好,但在 FF (3.6.) 或 Opera (10.60) 中不起作用。
在 FF 中它会抛出这个异常:
错误:未捕获的异常:[异常...“指定了无效或非法字符串”代码:“12”nsresult:“0x8053000c(NS_ERROR_DOM_SYNTAX_ERR)”位置:“ http://www.www.com/js/script.js线:51"]
有谁知道为什么会发生这种情况以及如何解决它?
现在我正在使用这个修复,但它不是干净的解决方案,因为它留下了 contentEditable 属性,我必须在服务器端清理它:
try {
el.find('*[contentEditable]').removeAttr('contentEditable');
} catch (e) {
el.find('*[contentEditable]').attr('contentEditable', false);
}