我正在开发一个非常简单的JS项目(对于我的客户端,所以不能使用jQuery,meh。)
所以基本上我有几个像这样的按钮:
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);";
答案 0 :(得分:1)
为什么你正在使用exeCommand?
你可以通过vanilla JavaScript做到这一点。
document.getElementById("boldBtn").style.fontWeight = "bold";
或者因为你已经有了参考资料
boldBtn.style.fontWeight = "bold";
答案 1 :(得分:0)
如果你做javascript,你宁愿把听众设置为真正的函数,而不是函数的字符串。
boldBtn.setAttribute("href", "#");
boldBtn.onClick = function()
{
document.execCommand("bold", false, null); //or maybe exec bold(false); directly ?
return false;
};