【问题标题】:JQuery color picker shows on page loadJQuery 颜色选择器在页面加载时显示
【发布时间】:2014-10-10 04:42:59
【问题描述】:

所以我使用 jquery minicolors 并让它按照我需要的方式设置,但有一个问题。页面加载时,颜色选择器已显示。它只应在选择输入框时显示。设置没有改变任何东西,也没有改变 JS 中的任何东西。我在这里做错了什么?我在下面附上代码:

我的html:

<div class="col-sm-2">
  <label data-toggle="tooltip" for="borderColor" title=
  "Enter a Color for the Border (Hexidecimal)"><span class=
  "glyphicon glyphicon-question-sign tip"></span>&nbsp;Border Color</label>

  <div class=
  "minicolors minicolors-theme-bootstrap minicolors-position-bottom minicolors-position-right">
  <div class=
  "minicolors minicolors-theme-bootstrap minicolors-position-bottom minicolors-position-right minicolors-focus">
    <input class="form-control demo minicolors-input" id="text-field" size="7"
      type="text"> <span class=
      "minicolors-swatch minicolors-sprite"><span class=
      "minicolors-swatch-color" style=
      "background-color: rgb(86, 163, 52);"></span></span>

      <div class="minicolors-panel minicolors-slider-hue" style=
      "display: block; opacity: 1;">
        <div class="minicolors-slider minicolors-sprite">
          <div class="minicolors-picker" style="top: 107.916666666667px;">
          </div>
        </div>

        <div class="minicolors-opacity-slider minicolors-sprite">
          <div class="minicolors-picker"></div>
        </div>

        <div class="minicolors-grid minicolors-sprite" style=
        "background-color: rgb(77, 255, 0);">
          <div class="minicolors-grid-inner"></div>

          <div class="minicolors-picker" style="top: 62px; right: 57px;">
            <div></div>
          </div>
        </div>
      </div>
    </div><span class="minicolors-swatch minicolors-sprite"><span class=
    "minicolors-swatch-color" style=
    "background-color: rgb(112, 194, 74);"></span></span>

    <div class="minicolors-panel minicolors-slider-hue" style=
    "display: none; opacity: .5;">
      <div class="minicolors-slider minicolors-sprite">
        <div class="minicolors-picker" style="top: 107.916666666667px;"></div>
      </div>

      <div class="minicolors-opacity-slider minicolors-sprite">
        <div class="minicolors-picker"></div>
      </div>

      <div class="minicolors-grid minicolors-sprite" style=
      "background-color: rgb(81, 255, 0);">
        <div class="minicolors-grid-inner"></div>

        <div class="minicolors-picker" style="top: 35px; right: 93px;">
          <div></div>
        </div>
      </div>
    </div>
  </div>
</div>  

还有我的 JS:

 $(document).ready(function() {
      $.minicolors.defaults = $.extend($.minicolors.defaults, {
        animationSpeed: 50,
        animationEasing: 'swing',
        // change: null,
        changeDelay: 0,
        control: 'hue',
        defaultValue: '',
        hide: false,
        hideSpeed: 100,
        showSpeed: 100,
        inline: false,
        letterCase: 'uppercase',
        opacity: false,
        position: 'bottom right',
        show: true,
        action: 'click',
        theme: 'bootstrap',
        change: function(hex, opacity) {
          if (!hex) return;
          if (opacity) hex += ', ' + opacity;
          if (typeof console === 'object') {
            console.log(hex);
          }
        },
      });
      $('.minicolors input').minicolors({
        show: function() {
          console.log('Show event triggered!');
        }
      });
      $('.minicolors input').minicolors();

【问题讨论】:

  • 尝试使用 $('.colorpicker').hide() 隐藏颜色选择器..
  • 尝试将hide: false,更改为hide: true,
  • 已经尝试过了,因为我认为这是合乎逻辑的事情,但不会改变它的显示方式。

标签: javascript jquery html css color-picker


【解决方案1】:

默认隐藏您的 HTML (display:none) 并在事件发生时使其可见 (.show)。

【讨论】:

  • 隐藏功能是内置的,我认为我用对了。该插件在此处附有文档:labs.abeautifulsite.net/jquery-minicolors。如果我显示:无,正确时不会显示。你在哪里建议的?非常感谢。
猜你喜欢
  • 1970-01-01
  • 2022-01-15
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多