3

我一直试图暗示 minicolors。一切都很好,我已经按照我想要的方式定位它但是有一些问题为我隐含 jquery 我在控制台上收到这个错误 Uncaught TypeError: Object [object Object] has no method 'miniColors' 我已经包含了所有需要的 jquery 文件.

<script src="javascripts/jquery.minicolors.js"></script>
<link rel="stylesheet" href="stylesheets/jquery.minicolors.css" />

<input class="mini" type="minicolors" data-swatch-position="left" value="#75bd25"  

data-textfield="false" name="color" />


<script type="text/javascript">
$(document).ready( function() {

$('INPUT[type=minicolors]').miniColors({
change: function(hex, rgb) {     $('body').css("background-color",hex); }   
});

});

</script>

非常感谢你的帮助!!

这是我画的修改后的代码谢谢你的帮助

$(document).ready( function() {

  $('INPUT[type=minicolors]').on('change', function() {

    var input = $(this),
      hex = input.val();

      $('body').css("background-color",hex);

  });

});

这次没有错误,但它不起作用我做错了什么?

再次感谢您的帮助!

4

3 回答 3

5

更新:

根据用户反馈,MiniColors 2.0 的 API 已恢复为与 1.0 类似的方法。请参阅 GitHub 上的更新文档。


Cory 来自 ABS(插件作者)。Jason 和 icktooday 都是正确的。MiniColors 2.0 就在几天前推出了测试版,API 确实发生了变化。99.9% 的开发人员只需要包含 MiniColors JavaScript 文件并创建如下输入控件:

<input type="minicolors" />

该插件将在首次加载时自动启用页面上的所有控件。对于需要动态添加控件的,只需插入<input>元素,然后调用init方法即可:

$.minicolors.init();

无需指定选择器。该插件可以使您以最小的开销尽可能简单。有关更多详细信息,请参阅文档中的实用程序函数

至于您的新错误,您需要:

  1. 将更改事件绑定到原始输入元素
  2. 更改background-colorbackgroundColor
  3. 使用输入元素的valuedata-opacity如果您启用了不透明度,则使用属性)
$('INPUT[type=minicolors]').on('change', function() {

    // This shows how to obtain the hex color and opacity (when in use)
    var hex = $(this).val(),
        opacity = $(this).attr('data-opacity');

    $('BODY').css('backgroundColor', hex);

});

注意:虽然之前版本的 MiniColors 是基于元素的,但我觉得在 2.0 中使用具有前瞻性的方法更合适。99.9% 的用户只需要包含 MiniColors JavaScript 文件并添加带有minicolors类型的输入元素。对于那些需要额外功能的人来说,它只是一个额外的函数调用来更新东西。

请帮助测试 MiniColors 2.0 并将任何错误报告、功能请求等提交到它在GitHub 上的主页。

于 2012-12-24T23:26:21.330 回答
2

您正在使用 MiniColors 版本 2,但使用的代码仅适用于 MiniColors 版本 1。使用旧版本 1 或阅读新文档并更新您的代码。

于 2012-12-22T04:57:29.170 回答
1

我以前从未使用过 minicolors,但看起来您正在尝试将它用作基于元素的插件(这是大多数插件作者编写插件的方式),但 minicolors 似乎是基于原型的。

换句话说,您不能使用$(selector).miniColors(...);,而必须使用$.minicolors.init()它们支持的其他功能。

于 2012-12-22T04:57:41.213 回答