0

我正在开发一个非常简单的 JS 项目(对于我的客户,所以不能为此使用 jQuery,嗯。)

所以基本上我有几个这样的按钮:

button.onClick="document.execCommand('bold', false, null);";

和其他像斜体,下划线等。

问题是他们不工作。我确信 execCommand 可以工作,因为我用计时器对其进行了测试并且它确实有效。不是的原因是当我点击它时,来自 contentEditable=true div 的文本被取消选中。

有没有办法避免这种情况?

提前致谢。


boldBtn = document.createElement('a');
boldBtn.innerHTML = "make text bold";
    document.getElementById("toolbox").appendChild(boldBtn);

boldBtn.onClick="document.execCommand('bold', false, null);";
4

2 回答 2

0

如果您使用 javasript,您宁愿将侦听器设置为真正的函数,而不是作为函数的字符串。

boldBtn.setAttribute("href", "#");
boldBtn.onClick = function()
{
    document.execCommand("bold", false, null); //or maybe exec bold(false); directly ?
    return false;
};
于 2012-12-17T18:21:49.783 回答
0

你为什么完全使用 exeCommand ?

你可以通过 vanilla JavaScript 来做到这一点。

document.getElementById("boldBtn").style.fontWeight = "bold";

或者因为您已经有参考

boldBtn.style.fontWeight = "bold"; 
于 2017-03-03T23:17:05.207 回答