我正在使用一个 JQuery 插件做一些工作,该插件在用户输入时对文本区域框中的文本进行倒计时。由于某种原因,该插件无法按我的预期工作。
我是一个合理的 javascript 开发人员,但之前没有构建过插件。我正在尝试调试这个并找出它为什么不起作用。
该插件将自己描述为使用 jQuery 1.3.x 和 1.4.x 进行测试。我必须使用 1.7.1。
我已经能够使用alert()
's 追踪到插件的这一部分——我可以看到处理到了一个特定的点,但似乎没有继续进行。或者我可能误读了它,因为我还在学习如何调试 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 有什么改变使这项工作有所不同吗?
编辑:这是原始 NobleCount jquery 插件页面的链接
编辑:我这样调用插件:
(function() {
$('#how_to_improve_input').NobleCount('#how_to_improve_count');
}).call(this);