错误:无法读取未定义的属性“模糊”[重复]
Posted
技术标签:
【中文标题】错误:无法读取未定义的属性“模糊”[重复]【英文标题】:Error: Cannot read property 'blur' of undefined [duplicate] 【发布时间】:2016-03-21 22:02:13 【问题描述】:我正在尝试实现wheelColorPicker,但我在使用 1.7.1 之后的 JQuery 版本时遇到了一个问题only。 (我目前使用的是 1.10.2。)
当我使用更高版本并移动任何滑块,然后停止移动它(mouseUp)时,colorPicker 不会注册 mouseUp,因此会继续移动滑块(或拖动器)。移动时我也收到以下错误:
未捕获的类型错误:无法读取未定义的属性“模糊”
我认为我必须更改的主要内容是事件如何解除绑定。
var blurEvents = $input.data('events').blur;
不工作:
JSFiddle
工作:
JSFiddle
(我无法让它使用带有代码 sn-p 的外部文件,而且问题是有多少字符的限制。这就是我没有包含代码 sn-p 的原因。)
【问题讨论】:
我将把它标记为与***.com/q/2518421/1059070 重复,因为根本问题似乎是相同的。 (见我的回答) 【参考方案1】:$(element).data("events")
在 jQuery 1.8 中被移除。
如有必要,您仍然可以通过$._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 之前,如果没有其他代码定义了名为“events”的数据元素,
.data("events")
可用于检索元素的 jQuery 未记录的内部事件数据结构。这种特殊情况已在 1.9 中删除。没有公共接口来检索这个内部数据结构,并且它仍然没有记录。但是,jQuery Migrate 插件为依赖它的代码恢复了这种行为。
【讨论】:
感谢您的回答!那很快! :) 是否有更新的、支持的执行方式? 虽然a lot of people seem to be using_data
anyway,但快速搜索并没有产生任何官方信息。嗯。
而answer 更下方表明不存在替代方案。
谢谢!那么这是否是正确的做法(使用上面的代码)? var blurEvents = $._data($input, 'events').blur
除非你使用 jQuery Migrate 插件,否则它看起来已经差不多了。以上是关于错误:无法读取未定义的属性“模糊”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
与 ES7 反应:未捕获的类型错误:无法读取未定义的属性“状态”[重复]
ReactJs:获取无法读取未定义错误的属性“setState”[重复]
Vue警告]:渲染错误:“TypeError:无法读取未定义的属性'map'”Vue Google地图[重复]
ReactJS TypeError:无法读取未定义的属性“setState”[重复]
vue计算属性getter错误=> [Vue警告]:渲染错误:“TypeError:无法读取未定义的属性'periodNum'”[重复]