首页 > 解决方案 > Spectrum,选项 showInput,显示不可编辑的输入文本

问题描述

我已经实现了一个 Spectrum 颜色选择器,它工作得很好,除了使文本输入不可编辑的 showInput 选项,它甚至不可选,它甚至不关注自身。但是,如果我选择颜色,十六进制值会出现在输入中,因此它可以工作一半。但我无法选择它来手动设置我想要的十六进制值。

这是 Jquery 代码:

$("#divPickerColor").spectrum({
    showInput : true ,
    preferredFormat: "hex",
    showButtons: false,
    allowEmpty:true                      
 });

这是html代码:

<script id="configurazioni-inserimento-modifica-stato-avanzamento" type="text/template">
  <div>
     <form id="formAddStatoAvanzamento" role="form" action="/" method="POST" 
     data-parsley-validate>
         <div class="form-group">
            <div class="row">
                <div id="colorazione" class="col-lg-12">
                    <input type="text" id="divPickerColor" />
                </div>
            </div>
          </div>
      </form>
  </div>
</script>

此脚本由函数调用以将其显示在模式上。

游览很复杂,我无法将所有代码发布给您,我试图将主要节点放入其中。我可以进一步说的是,我查看了输入的 CSS 属性,它没有禁用属性。我还尝试将它们与 JQuery 强行放在控制台中,但没有任何改变。Spectrum 生成的输入是不可编辑的,并且不关注自身。

我补充说我已经在我的应用程序外部的 html 页面中尝试了相同的代码,一切正常。我认为这与 html 的这一部分包含在脚本中这一事实有关。有谁知道为什么以及如何解决它?

标签: javascriptjqueryhtmlcssspectrum

解决方案


正如@BugCatcherJoe 在问题评论中所写,答案在下一个链接: https ://github.com/bgrins/spectrum/issues/161

对我有用的解决方案是从模式属性中删除 'tabindex=-1' 。


推荐阅读