我正在尝试实施wheelColorPicker,当我使用1.7.1之后的JQuery版本时,我想出了仅的问题。 (我目前正在使用1.10.2。)
当我使用更高版本并移动任何滑块,然后停止移动它(mouseUp)时,colorPicker不会注册mouseUp,因此继续移动滑块(或拖动器)。移动时我也会收到以下错误:
未捕获的TypeError:无法读取未定义的属性'blur'
我认为我必须改变的主要事情是,事件如何解开。
var blurEvents = $input.data('events').blur;
(我无法使用带有代码片段的外部文件,问题是有多少个字符的限制。这就是为什么我没有包含代码片段。)
答案 0 :(得分:1)
$(element).data("events")
。
如有必要,您仍然可以通过$._data(element, "events")
访问它,虽然这不是官方支持的,并且可以随时修改或删除行为(正如您所见)。
http://blog.jquery.com/2012/08/09/jquery-1-8-released/
$(element).data(“events”)
:在1.6版本中,jQuery将其内部数据与用户数据分开,以防止名称冲突。但是,有些人正在使用内部未记录的“事件”数据结构,因此我们仍然可以通过.data()检索它。这在1.8中已被删除,但您仍然可以通过$._data(element, "events")
获取事件数据以进行调试。请注意,这不是受支持的公共接口;实际的数据结构可能会因版本不同而发生变化。
从jQuery 1.9开始,似乎不支持检索此数据的公共接口:
https://jquery.com/upgrade-guide/1.9/
在1.9之前,
.data("events")
可用于检索jQuery的未记录的内部事件数据结构,如果没有其他代码定义了名称为" events" 。这个特例已在1.9中删除。没有公共接口来检索此内部数据结构,并且它仍未记录。但是,jQuery Migrate插件会针对依赖于它的代码恢复此行为。