作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当我突出显示selectionStart = 0;时,该代码不执行。但是,如果我突出显示文本区域中第一个字符前面的一个字符,则代码将起作用。如果我突出显示文本区域中的第一个字符,有什么想法可以使此代码正常工作吗?
function fontBBCode(font){
var textbox = document.getElementById('content');
var textSelected;
var fontTagOpen = "[font=";
var fontTagClose = "[/font]";
var stringBuilder;
var sel;
var startSelPos;
var endSelPos;
var len;
if (document.selection){//IE
textbox.focus();
sel = document.selection.createRange();
textSelected = sel.text;
}
else if (textbox.selectionStart){//Mozilla
startSelPos = textbox.selectionStart;
endSelPos = textbox.selectionEnd;
textSelected = textbox.value.substring(startSelPos, endSelPos);
}
alert(textSelected.length);
alert(textbox.value.length);
if (textSelected){
stringBuilder = fontTagOpen.concat(font);
stringBuilder = stringBuilder.concat("]");
stringBuilder = stringBuilder.concat(textSelected);
stringBuilder = stringBuilder.concat(fontTagClose);
if(document.selection)//IE
sel.text = stringBuilder;
else if(textbox.selectionStart){//Mozilla
len = textbox.value.length;
textbox.value = textbox.value.substring(0,startSelPos) + stringBuilder + textbox.value.substring(endSelPos,len);
}
}
else{
stringBuilder = fontTagOpen.concat(font);
stringBuilder = stringBuilder.concat("]");
stringBuilder = stringBuilder.concat(fontTagClose);
textbox.value += stringBuilder;
}
}
最佳答案
这是因为第一个字符位于索引零,这使得当 document.selection/document.selectionStart 为 0 时 if 语句的计算结果为 false。
if (document.selection >= 0) { ...
应该可以解决问题
关于javascript - 当在 SelectionStart 处突出显示等于零时,代码会中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31199140/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!