Javascript jQuery限制插件关注点
这个问题是关于你的。以下是消息来源:Javascript jQuery限制插件关注点,javascript,jquery,Javascript,Jquery,这个问题是关于你的。以下是消息来源: (function($){ $.fn.extend({ limit: function(limit,element) { var interval, f; var self = $(this); $(this).focus(function(){ interval = window.setInterval(substring
(function($){
$.fn.extend({
limit: function(limit,element) {
var interval, f;
var self = $(this);
$(this).focus(function(){
interval = window.setInterval(substring,100);
});
$(this).blur(function(){
clearInterval(interval);
substring();
});
substringFunction = "function substring(){ var val = $(self).val();var length = val.length;if(length > limit){$(self).val($(self).val().substring(0,limit));}";
if(typeof element != 'undefined')
substringFunction += "if($(element).html() != limit-length){$(element).html((limit-length<=0)?'0':limit-length);}"
substringFunction += "}";
eval(substringFunction);
substring();
}
});
})(jQuery);
(函数($){
$.fn.extend({
限制:功能(限制、元素){
var区间f;
var self=$(这是);
$(this.focus(function()){
间隔=窗口。设置间隔(子字符串,100);
});
$(this.blur(function()){
间隔时间;
子字符串();
});
substringFunction=“function substring(){var val=$(self.val();var length=val.length;if(length>limit){$(self.val().substring(0,limit));}”;
if(元素类型!=“未定义”)
substringFunction+=“if($(element).html()!=limit length){$(element).html((limit length1)我同意。看起来他对我不理解闭包
2) 很难准确预测哪些事件可能会改变文本框的内容。按键很明显,但可能鼠标事件也会改变文本框的内容。其他Javascript函数也可以更新文本框
3) 我有几个猜测:a)当他试图让闭包工作时,他用它来保存回调函数,当他切换到eval kludge时,没有删除声明;b)本来应该保存子字符串函数字符串,但他犯了一个错误,在分配它时调用了它substringFunction
(注意,他忘记了那里的var
声明)
4) 对
仅仅因为有人在网站上发布代码并不意味着他们是专家。1)我同意。在我看来,他好像不懂闭包
2) 很难准确预测哪些事件可能会改变文本框的内容。按键很明显,但可能鼠标事件也会改变文本框的内容。其他Javascript函数也可以更新文本框
3) 我有几个猜测:a)当他试图让闭包工作时,他用它来保存回调函数,当他切换到eval kludge时,没有删除声明;b)本来应该保存子字符串函数字符串,但他犯了一个错误,在分配它时调用了它substringFunction
(注意,他忘记了那里的var
声明)
4) 对
仅仅因为有人将他们的代码发布到网站并不意味着他们是专家。2)这一点很好。复制/粘贴可以绕过keypress
,尽管我认为change
事件仍然会触发,所以我将尝试绑定这两个事件。无论如何,我想摆脱setInterval
,所以我必须使用它事件。3)我没有注意到var
的缺失,它确实困扰着我的窗口对象。哎呀,非常感谢。2)好的观点。复制/粘贴可以绕过按键
,尽管我认为更改
事件仍然会触发,所以我将尝试绑定这两个事件。无论如何,我想摆脱设置间隔
,因此我必须处理事件。3)我没有注意到缺少var
,这确实困扰着我的窗口对象。哎呀,非常感谢。