ユーザーが入力したテキストエリアボックス内のテキストをカウントダウンする JQuery プラグインを使用して作業を行っています。何らかの理由で、プラグインが期待どおりに機能しません。
私は妥当な JavaScript 開発者ですが、これまでプラグインを作成したことがありません。これをデバッグして、なぜ機能しないのかを突き止めようとしています。
このプラグインは、jQuery 1.3.x および 1.4.x でテスト済みであると説明しています。1.7.1 を使用する必要があります。
を使用して、プラグインのこの部分を追跡できましalert()
た。処理が特定のポイントに進んでいることがわかりますが、処理が進んでいないようです。または、jQuery プラグインのデバッグ方法をまだ学んでいるので、読み間違えている可能性があります。
コード スニペットでは、 s を使用できる場所とできない場所にコメントを追加しました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 への変更により、この作業が異なったものになりましたか?
編集:元の NobleCount jquery プラグインページへのリンクは次のとおりです。
編集:私はこのようにプラグインを呼び出しています:
(function() {
$('#how_to_improve_input').NobleCount('#how_to_improve_count');
}).call(this);