2017-02-13 131 views
2

我需要製作一個按鈕,其中按鈕用於將文本區域中的文本設置爲粗體,並將其設置爲之前的狀態。這應該是相同的按鈕。javascript按鈕將字體從粗體切換到原始

function toggleBold() { 
 
    var bold = true 
 
    if (bold = ture) { 
 
    document.getElementById("entertext"). 
 
    } 
 
}
<button onclick="toggleBold">BOLD</button> 
 

 

 
<form> 
 
    Enter Text: 
 
    <br> 
 
    <input type="text" name="your text" id="entertext"> 
 
</form>

+1

錯字這裏:'如果(粗體= TURE){'比一個錯字 – Banzay

+0

更多。 'if(bold)'或'if(bold == true)' - 除非將函數外的'var bold'移到函數外部並在函數內部執行'bold =!bold',否則它們是無用的 – mplungjan

+0

http://重複http:// stackoverflow.com/questions/42205680/bold-and-unbold-button-for-text-in-a-form-b​​ox/42206083#42206083 – mplungjan

回答

1

您可以使用jQuery

形式

<button class="toggleBold">BOLD</button> 
<form> 
    Enter Text: 
    <br> 
    <input type="text" name="your text" id="entertext"> 
</form> 

jQuery的

的CSS做

.bold { font-weight: bold; } 
+0

爲了使用jquery(爲memes) – Christopher

+1

首先,jQuery對此是矯枉過正。其次,您實際上並未使用JQuery來執行切換。你只用它來綁定按鈕。第三,在問題中沒有標記JQuery。 –

+0

@ScottMarcus OP沒有提到任何具體的..這不意味着我們不能那樣做,而不是一個理由downvote – affaz

0

您可以通過設置粗體類然後在文本元素上切換該類來實現。

而且,你不應該使用HTML事件屬性到你的DOM對象綁定到,因爲事件處理程序:

  • 他們創造麪條代碼是很難閱讀並導致代碼 重複。
  • 他們周圍添加您提供的功能的全球包裝函數 改變this事件處理函數內綁定。
  • 他們不遵循W3C DOM Event標準。

你應該做的所有事件在JavaScript綁定和使用.addEventListener()

// Get DOM element references 
 
var btn = document.getElementById("btnToggleBold"); 
 
var txt = document.getElementById("txtInput"); 
 

 
// Wire the button's click event up to a toggle function 
 
btn.addEventListener("click", function(){ 
 
    // Toggle the bold class on the text element 
 
    txt.classList.toggle("bold"); 
 
});
/* This class will be toggled via a button click */ 
 
.bold {font-weight:bold; }
<form> 
 
    <div> 
 
    <button id="btnToggleBold">BOLD</button> 
 
    </div> 
 
    <div> 
 
    Enter Text: 
 
    <br> 
 
    <input type="text" name="txtInput" id="txtInput"> 
 
    </div> 
 
</form>

+0

這和我在這個問題的評論中給出的鏈接相同 – mplungjan

+0

最終結果是一樣的,但我的答案不使用事件屬性(和你的一樣),我的答案解釋了爲什麼應該使用addEventListener而不是事件屬性或HTML事件屬性。 –

+0

我更喜歡自早期開始就適用於所有瀏覽器的東西。例如element.onclick - 不是內聯屬性。或者使用jQuery不必標準化addEventListener – mplungjan