Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以编程方式打开<;strong></strong>;用于html5中的可编辑部分_Javascript_Html - Fatal编程技术网

Javascript 以编程方式打开<;strong></strong>;用于html5中的可编辑部分

Javascript 以编程方式打开<;strong></strong>;用于html5中的可编辑部分,javascript,html,Javascript,Html,我正在从事一个HTML5/javascript/php项目,其中我有一个设置为可编辑的 我知道用户可以按ctrl+b将文本加粗,但我也希望用户能够单击网页上的相应按钮来执行相同的操作 也就是说,当用户输入的是普通文本时,他们单击网页上的粗体按钮,它会将附加到该节的html中,并且无论他们现在键入什么,都将保持不变,直到他们再次按下按钮,然后再附加 然而,当我添加时,它似乎会自动添加,我想阻止这种情况发生。我这样做是正确的还是有更好的方法可以实现 下面是我正在尝试使用的javascript fun

我正在从事一个HTML5/javascript/php项目,其中我有一个设置为可编辑的

我知道用户可以按ctrl+b将文本加粗,但我也希望用户能够单击网页上的相应按钮来执行相同的操作

也就是说,当用户输入的是普通文本时,他们单击网页上的粗体按钮,它会将
附加到该节的html中,并且无论他们现在键入什么,都将保持不变,直到他们再次按下按钮,然后再附加

然而,当我添加
时,它似乎会自动添加
,我想阻止这种情况发生。我这样做是正确的还是有更好的方法可以实现

下面是我正在尝试使用的javascript

function enableDisableBold(section)
{
    var boldEnabled = $("#boldEnabled").val();
    var content = $("#" + section).html();
    var newContent;
    if (boldEnabled == "true")
    {
        $("#btnBold").removeClass("formatButtonsActivated");
        $("#boldEnabled").val("false");
        //newContent = content + "</strong>";
        //$("#" + section).html(newContent);
    }
    else
    {
        $("#btnBold").addClass("formatButtonsActivated");
        $("#boldEnabled").val("true");
        newContent = content + "<strong>";
        $("#" + section).html(newContent.replace("</strong>", ""));
    }

    alert($("#" + section).html());
} 
功能启用禁用粗体(第节)
{
var boldEnabled=$(“#boldEnabled”).val();
var content=$(“#”+section.html();
var新内容;
如果(boldEnabled==“true”)
{
$(“#btnBold”).removeClass(“formatButtonsActivated”);
$(“#boldEnabled”).val(“false”);
//newContent=content+“”;
//$(“#”+节).html(新内容);
}
其他的
{
$(“#btnBold”).addClass(“formatButtonsActivated”);
$(“#boldEnabled”).val(“true”);
newContent=content+“”;
$(“#”+section.html(newContent.replace(“”,”);
}
警报($(“#”+section.html());
} 
谢谢你能提供的帮助

更新 我刚刚遇到了另一个解决方案,它实现了我想要实现的目标,但有一个小问题。在函数调用结束时,我执行以下代码位

var article=document.getElementById(节); 第条焦点(); document.execCommand(“粗体”、false、null)

问题是这在InternetExplorer中运行良好,但在Chrome中我遇到了问题。当我将焦点设置回
标记时,它会将光标放回文本的开头。我在某个地方读到,在控件上放置
onfocus=“this.value=this.value;”“
,但这没有帮助


我试图找到一种将光标放回字符末尾的方法,但实际上我需要将光标放回原来的位置。这是可以做到的吗

创建一个强元素并将您的内容附加到其中

$('<strong />').append(content);
$('')。追加(内容);

如果您等待添加结束标记,这不会使文本同时看起来不粗体吗?我认为您需要将字符附加到标记内容的末尾。我将您的函数重命名为
toggleBold(section)
,然后启用和禁用两个新方法以保持函数的小型化