我正在使用此功能来限制textarea
中的字符。适用于所有浏览器减去IE10
(拒绝测试更低的值)。
这部分$(target).text(num - len);
将实际数字放入textarea,而不是限制。
任何人都可以指出修复IE10,我只是不熟悉微软产品。谢谢
function countChar(val, target, num){
var len = val.value.length;
if (len >= num) {
val.value = val.value.substring(0, num);
$(target).text(0);
}else {
$(target).text(num - len);
}
};
这是我的小提琴:http://jsfiddle.net/nalagg/uFDhZ/
小提琴IE上的没有响应限制
修改逆转顺序似乎修复了它:
$(target).text(0);
val.value = val.value.substring(0, num);
答案 0 :(得分:0)
我无法使用IE进行测试,但请尝试以下操作:
$('#myTxtArea').on('keyup propertychange', function(){
countChar(this, '#myTxtArea', 10);
});
修改强>
我不确定为什么它不能正常工作但我认为事件处理程序由于某些原因而未被IE识别。
如果以下情况适合您,可以试试吗?
$('#myTxtArea').on('keypress', function(e){
e = e || window.event;
var tval = $('#myTxtArea').val(),
tlength = tval.length,
set = 10,
remain = parseInt(set - tlength);
$('p').text(remain);
if (remain <= 0 && e.which !== 0 && e.charCode !== 0) {
$('textarea').val((tval).substring(0, tlength - 1))
}
});