jquery-plugins – eyecon Colorpicker – 点击事件中颜色不变

前端之家收集整理的这篇文章主要介绍了jquery-plugins – eyecon Colorpicker – 点击事件中颜色不变前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用基于 jquery的eyeCon颜色选择器(http://www.eyecon.ro/colorpicker/).

当我点击并拖动鼠标在彩色区域上时,颜色正在改变.但是当我点击彩色区域时,颜色没有被更新.

我挖掘了它的源码,并分别在mousedown和mousemove上调用了两个名为downSelector()和moveSelector()的函数.我刚刚在downSelector()函数添加了一个moveSelector()函数,该函数传递了自己的ev对象.但它没有工作,并引发以下错误
未捕获TypeError:无法读取未定义的属性“cal”

这可能是因为mousedown和mousemove的ev对象是不同的.

但是我需要更新mousedown事件的颜色.有什么建议么?

提前致谢 :)

解决方法

在colorpicker.js中,可以从upSelector调用moveSelector,如下所示:
moveSelector = function (ev) {
  change.apply(
  ev.data.cal.data('colorpicker').fields.eq(6)
    .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150,10))
    .end().eq(5).val(parseInt(100*(Math.max(0,(ev.pageX - ev.data.pos.left))))/150,10))
    .get(0),[ev.data.preview]
  );
  return false;
},upSelector = function (ev) {

  moveSelector(ev);

  fillRGBFields(ev.data.cal.data('colorpicker').color,ev.data.cal.get(0));
  fillHexFields(ev.data.cal.data('colorpicker').color,ev.data.cal.get(0));
  $(document).unbind('mouseup',upSelector);
  $(document).unbind('mousemove',moveSelector);
  return false;
},

这个小黑客很好:)

猜你在找的jQuery相关文章