jQuery 动画不起作用,而其他一切都起作用

jQuery animate does not work while everything else does

任何人都可以告诉我如何调试 jQuery 一般 and/or 这个问题吗?

问题:

jQuery 方法 animate() 行为异常。 该方法是在onclick方法中添加了一个HTML element,生成javascript

这个:

try{

    $(element).animate({
        width : '300px'
    });

}catch(e){
    console.log(e);
}

Returns 没有错误,但动画效果不起作用。 但是,这有效:

try{

    $(element).animate({
        width : '300px'
    });
    $(element).css('background','pink');

}catch(e){
    console.log(e);
}

上下文:

var onclick = function(){

    var element = this;

    $(element).css('background','pink');

    try{

    $(element).animate({
        width : '300px'
    });

    }catch(e){
        console.log(e);
    }
}

var elem = document.create('div');
element.addEventListener('click',onclick,false);

其实事情有点复杂,我简化一下把问题说清楚

我知道 jQuery 正在工作,因为 $(element).css('background','pink') 已正确执行。

一切都正确地注入到 head 上下文中:

如您所见,我添加了 jQuery-UI 以防万一...

我应该提一下,几天前当我第一次注意到这个问题时,我并没有像这样注入东西。我在我的模板中使用 eval jquery-1.11.2.min.class.js 的内容(这不是正确的做法,我同意,但那是草稿)并且我没有使用 jQuery-UI。而此时,try/catch 捕获到这个错误:

jquery Uncaught TypeError: (ec[b] || []).concat is not a function

而且我也已经能够使用 $(element).css('background','pink');

我还应该提一下,我最常使用纯 Javascript 而很少使用 jQuery代码,但从现在开始我需要的每个 $ 功能都正常工作。

我试过的:

我在 SO 上发现了一些类似的问题,但没有适合我的问题的解决方案。例如,添加 $(document).ready 对我没有帮助。

var onclick = function(){

    var element = this;

$(document).ready(function () { 
    $(element).css('background','pink');

    try{

    $(element).animate({
        width : '300px'
    });

    }catch(e){
        console.log(e);
    }
}); 
}

我在 Google 中没有找到太多相关内容,看来这不是公共问题。但是,我对 jQuery 了解了很多,即 concat 用于 join two arrays

但是,即使有no more error catched.

,我也卡住了,遇到的困难也一直在

我终于确定出了什么问题,至少表面上是这样。

我的问题是我向 Object 添加了 2 个原型。 而 jQuery,内部可能有点乱,根本不喜欢它。 因此,删除添加到 Object 的每个自定义原型就足以让 jQuery 再次工作。

道德:如果您打算使用 jQuery.

,请不要在 Object 上使用自定义方法