我正在设置使用 JavaScript 进行一些简单的所见即所得编辑,但我在 Firefox 中遇到了我在 Chrome 或 IE(所有最新版本)中没有遇到的问题。当我的跨度中的所有文本都contentEditable
被选中时,如果我尝试使用 使其变为粗体document.execCommand('bold',false,null)
,我会收到一条相当不起眼的错误消息:“NS_ERROR_FAILURE:失败”
这是一些简单的示例代码,可以轻松重现该问题:
<html>
<head>
<script>
function start(){
var edit = document.getElementById('edit');
edit.contentEditable = true;
var button = document.getElementById('button');
button.onclick = function(){
// Get the editable span
var edit = document.getElementById('edit');
// Select the contents of the span
var range = document.createRange();
range.selectNodeContents(edit);
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
// Make the text bold
document.execCommand('bold',false,null);
}
}
</script>
</head>
<body onload="start();">
<span id='edit'>Click on the button</span>
<button id='button'>Bold It All!</button>
</body>
</html>
那么,我在这里做错了什么?我刚刚遇到了一个错误吗?如果是这样,任何人都可以提出解决方案吗?