簡體   English   中英

更改所選div jquery的顏色

[英]Changing color of selected div jquery

我正在嘗試創建一個函數,以便當用戶單擊一個 div 然后單擊該 div 的按鈕背景顏色將更改因此值必須保存為變量,但我似乎無法讓它正常工作時間是說“存儲”變量未定義。 整個頁面可以在:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content-link2">
  <title>Template 1</title>
  <link href="http://localhost/fyproject/public/templates/css.css" rel="stylesheet" type="text/css">

            <button class="btn btn-default form-control margin color" value="yellow">Background</button>
            <button class="btn btn-default form-control margin color" value="red">Background</button>
  <div class="logo">
    <img class="images" id="image" src="#" alt="Your Logo">
  </div>
  <div contenteditable="true" id="content" class="draggable ui-widget-content refresh ui-draggable ui-draggable-handle" style="position: relative;">
    <p>hlo</p>
  </div>
  <div id="comments">
    <form name="forma">
      <textarea name="commentUser" id="commentUser" class="refresh" cols="40" rows="5">Comments here...
      </textarea>
      <br>
      <input type="submit" value="Ready!" id="send-data">
      <!--onClick="writeComment(e);"-->
      <div id="editTxt" class="refresh" contenteditable="true">
        <p>This text can be by the user.</p>
      </div>
    </form>
  </div>


    </div>

$(document).ready(function() {
  $('.color').click(function() {
    $(storage).css("background-color", $(this).attr("value"));
  });
});

$('#content-link2').on('click', 'div', function(e) {
  var storage = ($(e.target).attr("id"));
});

頁面可見:

https://jsfiddle.net/mbqzL73r/

您需要將存儲全局設置為兩個點擊事件的范圍

 $(document).ready(function() { var storage; $('.color').click(function() { $('#' + storage).css("background-color", $(this).attr("value")); }); $('#content-link2').on('click', 'div', function(e) { storage = ($(e.target).attr("id")); }); });

有關 js 變量作用域的更多信息

您的 storage 變量在第二個函數的范圍內,您需要將 storage 聲明為全局變量。 例如:

var storage = "";
$(document).ready(function() {
  $('.color').click(function() {
    $(storage).css("background-color", $(this).attr("value"));
  });
});

$('#content-link2').on('click', 'div', function(e) {
  storage = ($(e.target).attr("id"));
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM