2014-01-12 252 views
0

使用默认的mixitup配置$('#id').mixitup(),我添加一个按钮<li>标签的HTML代码动态添加一个过滤器按钮。在将html代码添加到页面后立即再次调用相同的函数,以使新按钮有效。点击页面上的某些过滤器按钮(即使我不按新的过滤器按钮),我看到:Mixitup - 未捕获TypeError:无法读取未定义的属性'左'

Uncaught TypeError:无法读取未定义错误的属性'左'。

错误发生在行937:

$toshow.each(function() { 
    var data = this.data; 
    data.tX = data.finalPos.left - data.showInterPos.left; //HERE 

我的文档,如何通过方法之后使用jQuery新的图像添加到列表中所看到的,但目前还没有关于如何动态地添加过滤器按钮和初始化的解释他们在飞行中。

是否预期了描述的行为? 这意味着我做错了什么。那么,如何正确初始化新的过滤器按钮?

我正在使用Mixitup 1.5.6(最新版)和jQuery 1.10.2(也试过用jQuery 2.0.3)。

在此先感谢!

回答

0

你的问题是,data.finalPos或data.showInterPos是未定义的。 console.log数据后,你定义它,看看你是否有这些键

$toshow.each(function() { 
    var data = this.data; 
    console.log(data); //here 
    data.tX = data.finalPos.left - data.showInterPos.left; 
+0

你是否建议在Mixitup插件源代码的调试操作? – ilter

+0

是源代码之上的代码?我认为这是你写的代码。 无论哪种方式,data.finalPos或data.showInterPos都是未定义的。你需要明白为什么它是未定义的。 –

+0

所以是的。 也是这个原因,我远离插件... –

相关问题