2012-03-13 15 views
0

このソースコードを読んでいて、エラーがあるようです。誰もがエラーjquery issueを延長する

+0

エラーを説明できるでしょうか? –

+0

は未定義をオブジェクトに変換できません push.apply(ret、elems);これはfirefoxコンソールからです。このエラーのためappendToで停止し、次のステートメントアラートは実行されません – coool

答えて

0

これは厳しいものですがあるappendTo後

var JX = { 
    extend: function(bc, sc, o) { 
     var f = function() {}; 
     f.prototype = sc.prototype; 
     bc.prototype = new f(); 
     bc.prototype.constructor = bc; 
     bc.superclass = sc.prototype; 
     for (var m in o) 
      bc.prototype[m] = o[m]; 
    } 
}; 
JX.Component = function() { 
    JX.Component.superclass.init.apply(this, arguments); 
}; 
JX.extend(JX.Component, jQuery, {}); 

$(document).ready(function() { 
    var mydiv = new JX.Component(document.createElement('div')); 
    mydiv.text("Hello World").click(function(){alert("You Clicked Me!")}); 
    mydiv.appendTo(document.body); 
    alert("heee"); 
}); 

を何が起こっているのかと言うことができます。あなたは

$(mydiv).appendTo(document.body); 

mydiv.appendTo(document.body); 

を変更した場合のコードは動作します。しかし、mydivはすでにjQueryオブジェクトである必要があります(そして素早くconsole.logがそれを確認する)ので、JX.extendコードで何か怪しいと思っていますが、それは何か分かりません。