ユーザーが入力するときにテキストエリアのテキストをカウントダウンするJQueryプラグインでいくつかの作業をしています。何らかの理由で、私の期待通りにプラグインが動作していません。jQueryプラグインのデバッグ - 1.4で動作し、1.7で動作しないようです。
私は合理的なjavascriptの開発者ですが、以前はプラグインをビルドしていません。私はこの1つをデバッグしようとしているとそれが動作していない理由を把握しています。
このプラグインは、jQuery 1.3.xおよび1.4.xでテストされていると記述しています。私は1.7.1を使用する必要があります。
alert()
さんのプラグインのこの部分をトレースすることができました - 私は処理がcertianポイントに行くのが分かりますが、進行していないようです。あるいは、私はまだjQueryプラグインをデバッグする方法を学んでいるので、誤読しているかもしれません。
コードスニペットでは、どこから作業するのか、どこでできないのかをコメントに追加しました。alert
$.fn.NobleCount = function(c_obj, options) {
var c_settings;
var mc_passed = false;
// if c_obj is not specified, then nothing to do here
if (typeof c_obj == 'string') {
// check for new & valid options
c_settings = $.extend({}, $.fn.NobleCount.settings, options);
// was max_chars passed via options parameter?
if (typeof options != 'undefined') {
mc_passed = ((typeof options.max_chars == 'number') ? true : false);
}
// THIS ALWAYS FIRES
console.log("I am here");
// process all provided objects
this.each(function(){
// THIS NEVER FIRES
console.log("I DON'T SEEM TO EVER EXECUTE");
var $this = $(this);
// attach events to c_obj
attach_nobility($this, c_obj, c_settings, mc_passed);
});
}
return this;
};
attach_nobility
のコードは実行されることはありません。
jquery 1.4からjquery 1.7に変更された点がありますか?
編集:ここではoriginal NobleCount jquery pluginページ
EDITへのリンクです:私はこのようなプラグインを呼んでいる:
(function() {
$('#how_to_improve_input').NobleCount('#how_to_improve_count');
}).call(this);
注:これを添付しているjqueryセレクタが有効なセレクタであることは既に確認済みです。 –
これはconsole.log/dirのときは何ですか? – epascarello
console.log(this); '[]'を返す。私はそれがたくさん説明すると思います。 1.4以降、 'this''がプラグインのためにどのように変更されましたか? –