简体   繁体   English

如何使用颜色选择器将CSS颜色应用于父元素?

[英]How to apply CSS color on parent element using a color picker?

I have a color picker which appears by clicking on pencil glyphicon. 我有一个颜色选择器,该颜色选择器通过单击铅笔glyphicon出现。 I just want to apply color from color picker on list elements ie which is grand parent of pencil glyphicon. 我只想将颜色选择器中的颜色应用于列表元素,即铅笔glyphicon的祖父。 I have a following ruby front end code: 我有以下红宝石前端代码:

 <% categories.each(function (category) { %>
    <li id="<%= category.id %>" class="Round-boxes my-sortable">

      <% if(category.get("is_owner")) { %>   
        <div class="color-picker-pencil picker">
           <span class="glyphicon glyphicon-pencil"></span>
        </div>
      <% } %> 
    </li>
  <% }); %>

I am following this tutorail according to which I have a following JS code with a slighter change. 我正在遵循此tutorail,根据它,我将在后面的JS代码中进行一些细微的更改。

JS code: JS代码:

  applyColor: function(event) { myel = $(event.target).parent().parent() console.log(myel); $('.picker').colpick({ layout: 'hex', submit: 0, colorScheme: 'dark', onChange: function(hsb, hex, rgb, myel, bySetColor) { $(myel).css('background-color:', '#' + hex); } }).keyup(function() { $(this).colpickSetColor(this.value); }); } 
What Should i do to achieve this ? 我应该怎么做才能做到这一点? Thanks in advance. 提前致谢。

It was just a syntax error in applyColor function and a little code change, I replaced following code in place of existing: 这只是applyColor函数中的语法错误,并且进行了一些代码更改,我替换了以下代码以替换现有代码:

    applyColor: function(event){
    $('.picker').colpick({
      layout:'hex',
      submit:0,
      colorScheme:'dark',
      onChange:function(hsb,hex,rgb,myel,bySetColor) {

        myel = $(myel).parent();
        $(myel).css('background-color','#'+hex);

      }

    }).keyup(function(){

    $(this).colpickSetColor(this.value);

    });

  }

And every thing works fine. 而且一切正常。 See the line two lines of code inside onChange body. 请参见onChange主体中的两行代码。 And compare it with code in question. 并将其与有问题的代码进行比较。

Did you try to use the parent() Jquery function? 您是否尝试使用parent()Jquery函数?

onChange: function(hsb, hex, rgb, myel, bySetColor) {

       $(myel).parent('li').css('background-color:', '#' + hex);
     }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM