cat*_*use 3 javascript methods jquery internet-explorer-8
我正在使用此脚本来限制textarea上第1-3行的字符.它适用于Firefox和Chrome.但在IE8中,它在使用filter()方法的行上显示错误:"对象不支持此属性或方法".
这是代码:
var result = jQuery('#result');
var my_textarea = jQuery('#mytext');
my_textarea.on('keyup', function(event){
var el = jQuery(this);
var lines = el.val().split('\n').length;
var chars = el.val().split('').filter(function(v){
return v != '\n';
}).length;
result.html('You have ' + lines + ' lines and ' + chars + ' chars');
if ((lines === 1 && chars > 20) || (lines === 2 && chars > 40) || (lines === 3 && chars > 60)) {
my_textarea.val( my_textarea.val() + "\n");
}
});
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
filter(以及其他一些方法Array)相对较新,并没有在旧版浏览器中实现 - 不仅仅是IE8,而是老版本的Firefox.
您可能对array_filterPHPJS感兴趣,因为这会产生相同的效果.
然后再看一下你的代码,这不会更简单吗?
var chars = el.val().replace(/\n/g,'').length;
Run Code Online (Sandbox Code Playgroud)