Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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按钮_Javascript_Html_Css - Fatal编程技术网

用于将字体从粗体切换为原始字体的javascript按钮

用于将字体从粗体切换为原始字体的javascript按钮,javascript,html,css,Javascript,Html,Css,我需要制作一个按钮,其中有一个按钮用于将文本区域中的文本设置为粗体,并将其设置为以前的状态。这应该是同一个按钮 函数toggleBold(){ var bold=true 如果(粗体=真){ document.getElementById(“entertext”)。 } } 粗体 输入文本: 您可以使用Jquery来完成 形式 Css 您可以通过为粗体设置一个类,然后在文本元素上切换该类来实现这一点 此外,不应使用HTML事件属性将DOM对象绑定到事件处理程序,因为: 他们创造了更难阅读的

我需要制作一个按钮,其中有一个按钮用于将文本区域中的文本设置为粗体,并将其设置为以前的状态。这应该是同一个按钮

函数toggleBold(){
var bold=true
如果(粗体=真){
document.getElementById(“entertext”)。
}
}
粗体
输入文本:


您可以使用Jquery来完成

形式

Css


您可以通过为粗体设置一个类,然后在文本元素上切换该类来实现这一点

此外,不应使用HTML事件属性将DOM对象绑定到事件处理程序,因为:

  • 他们创造了更难阅读的意大利面代码,并导致了代码的产生 重复
  • 它们在提供的函数周围添加了全局包装函数 在事件处理函数中更改此绑定
  • 它们不遵循标准
您应该使用JavaScript进行所有事件绑定,并使用

//获取DOM元素引用
var btn=document.getElementById(“btntogleBold”);
var txt=document.getElementById(“txtInput”);
//将按钮的单击事件关联到切换功能
btn.addEventListener(“单击”,函数(){
//在文本元素上切换粗体类
txt.classList.toggle(“粗体”);
});
/*此类将通过单击按钮进行切换*/
.bold{font-weight:bold;}

大胆的
输入文本:


此处输入错误:
if(bold=true){
不止是一个输入错误。
if(bold)
if(bold==true)
-除非您将
var bold
移到函数外部,并在@mplungjan的函数副本中执行第一眼看到的
bold=!bold
操作,否则这两个脚本都是无用的。事实上,这个脚本太“后”了“太后”是什么意思?准备好使用Jquery(用于Meme)首先,JQuery在这方面做得太过火了。其次,你实际上并没有使用JQuery来进行切换。你只是用它来绑定按钮。第三,问题中没有标记JQuery。@ScottMarcus OP没有具体提到任何东西。这并不意味着我们不能这样做,也不是为这样一个琐碎的任务而放弃JQuery的理由过火了,这不是一个好的建议。添加整个库只是为了获取DOM引用并将其绑定到一个单击事件是非常荒谬的。关于您的答案,真正有趣的是,您不仅没有使用JQuery来实际解决问题,而且还使用它来获取一个DOM引用,而不是另一个。这与li相同nk我在对这个问题的评论中给出的最终结果是一样的,但我的回答没有使用事件属性(就像你的回答一样)我的回答解释了为什么应该使用addEventListener而不是事件属性或HTML事件属性。我更喜欢从一开始就适用于所有浏览器的东西。例如element.onclick-非内联属性。或者使用jQuery不必规范addEventListener。因此,您相信不遵循标准,并且更喜欢不那么健壮的事件处理模型。你必须回到IE 8 for.addEventListener才能工作。这是非常少的用户。而且,正如我所说的,为这样一个琐碎的任务添加额外的HTTP调用并下载整个库是没有根据的。我们有10%的IE8用户,没有。如果你有jQuery,请使用它
<button class="toggleBold">BOLD</button>
<form>
  Enter Text:
  <br>
  <input type="text" name="your text" id="entertext">
</form>
$(".toggleBold").click(function() {
   document.getElementById("entertext").classList.toggle("bold");
});
 .bold { font-weight: bold; }