Javascript范围在Firefox上丢失空白?
我正在尝试计数字符,并将超过某个限制的字符包装在一个我已设置为红色的Javascript范围在Firefox上丢失空白?,javascript,jquery,css,range,Javascript,Jquery,Css,Range,我正在尝试计数字符,并将超过某个限制的字符包装在一个我已设置为红色的中 除了将插入符号移到末尾的函数外,该代码大部分都能正常工作。在Firefox上,我在那里创建的区域会丢失所有的空白,因此“abcd”变成“abcdabcd” 以下是该函数的代码: function placeCaretAtEnd(el) { el.focus(); if (typeof window.getSelection != "undefined" && typeof do
中
除了将插入符号移到末尾的函数外,该代码大部分都能正常工作。在Firefox上,我在那里创建的区域会丢失所有的空白,因此“abcd”变成“abcdabcd”
以下是该函数的代码:
function placeCaretAtEnd(el) {
el.focus();
if (typeof window.getSelection != "undefined"
&& typeof document.createRange != "undefined") {
// Modern browsers
var range = document.createRange();
range.selectNodeContents(el);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
} else if (typeof document.body.createTextRange != "undefined") {
// IE
var textRange = document.body.createTextRange();
textRange.moveToElementText(el);
textRange.collapse(false);
textRange.select();
}
}
以前有人遇到过这个问题并找到了解决方案吗?Firefox忽略了HTML中的空格。您必须修改它以用html转义字符替换空格字符。取代守则
inputText.substring(0,maxCharacter)
你应该这样做
inputText.substring(0,maxCharacter).replace(//g',)
类似地代替代码
inputText.substring(maxCharacter)
你应该这样做
inputText.substring(maxCharacter).replace(//g',)
那会解决的。希望它也能在所有其他浏览器中工作
换笔: