📄 editor.asp
字号:
if (position < 0) {
position = 0
}
newCell = allRows[i].insertCell(position)
newCell.innerHTML = " "
if (borderShown == "yes") {
newCell.runtimeStyle.border = "1px dotted #BFBFBF"
}
}
}
}
// 插入列(在右侧)
function TableColInsertRight() {
if (isCursorInTableCell()) {
moveFromEnd = (selectedTR.cells.length-1) - (selectedTD.cellIndex)
allRows = selectedTable.rows
for (i=0;i<allRows.length;i++) {
rowCount = allRows[i].cells.length - 1
position = rowCount - moveFromEnd
if (position < 0) {
position = 0
}
newCell = allRows[i].insertCell(position+1)
newCell.innerHTML = " "
if (borderShown == "yes") {
newCell.runtimeStyle.border = "1px dotted #BFBFBF"
}
}
}
}
// 合并列
function TableColMerge() {
if (isCursorInTableCell()) {
var colSpanTD = selectedTD.getAttribute('colSpan')
allCells = selectedTR.cells
if (selectedTD.cellIndex + 1 != selectedTR.cells.length) {
var addColspan = allCells[selectedTD.cellIndex+1].getAttribute('colSpan')
selectedTD.colSpan = colSpanTD + addColspan
selectedTR.deleteCell(selectedTD.cellIndex+1)
}
}
}
// 删除列
function TableColDelete() {
if (isCursorInTableCell()) {
moveFromEnd = (selectedTR.cells.length-1) - (selectedTD.cellIndex)
allRows = selectedTable.rows
for (var i=0;i<allRows.length;i++) {
endOfRow = allRows[i].cells.length - 1
position = endOfRow - moveFromEnd
if (position < 0) {
position = 0
}
allCellsInRow = allRows[i].cells
if (allCellsInRow[position].colSpan > 1) {
allCellsInRow[position].colSpan = allCellsInRow[position].colSpan - 1
} else {
allRows[i].deleteCell(position)
}
}
}
}
// 拆分列
function TableColSplit(nCols){
if (!isCursorInTableCell()) return;
if (nCols<2) return;
var addCols = nCols - 1;
var addColsNoSpan = addCols;
var newCell;
var nsLeftColSpan = 0;
var nsLeftRowSpanMoreOne = 0;
for (var i=0; i<selectedTD.cellIndex; i++){
nsLeftColSpan += selectedTR.cells[i].colSpan;
if (selectedTR.cells[i].rowSpan > 1){
nsLeftRowSpanMoreOne += 1;
}
}
var allRows = selectedTable.rows
// colSpan>1时
while (selectedTD.colSpan > 1 && addColsNoSpan > 0) {
newCell = selectedTR.insertCell(selectedTD.cellIndex+1);
newCell.innerHTML = " "
if (borderShown == "yes") {
newCell.runtimeStyle.border = "1px dotted #BFBFBF"
}
selectedTD.colSpan -= 1;
addColsNoSpan -= 1;
}
// colSpan=1时
for (i=0;i<allRows.length;i++) {
var ncLeftColSpan = 0;
var position = -1;
for (var n=0; n<allRows[i].cells.length; n++){
ncLeftColSpan += allRows[i].cells[n].getAttribute('colSpan');
if (ncLeftColSpan+nsLeftRowSpanMoreOne>nsLeftColSpan){
position = n;
break;
}
}
if (selectedTR.rowIndex!=i){
if (position!=-1){
allRows[i].cells[position+nsLeftRowSpanMoreOne].colSpan += addColsNoSpan;
}
}else{
for (var n=0; n<addColsNoSpan; n++){
newCell = allRows[i].insertCell(selectedTD.cellIndex+1)
newCell.innerHTML = " "
newCell.rowSpan = selectedTD.rowSpan;
if (borderShown == "yes") {
newCell.runtimeStyle.border = "1px dotted #BFBFBF"
}
}
}
}
}
// 是否选中表格
function isTableSelected() {
if (HtmlEdit.document.selection.type == "Control") {
var oControlRange = HtmlEdit.document.selection.createRange();
if (oControlRange(0).tagName.toUpperCase() == "TABLE") {
selectedTable = HtmlEdit.document.selection.createRange()(0);
return true;
}
}
}
// 光标是否在表格中
function isCursorInTableCell() {
if (HtmlEdit.document.selection.type != "Control") {
var elem = HtmlEdit.document.selection.createRange().parentElement()
while (elem.tagName.toUpperCase() != "TD" && elem.tagName.toUpperCase() != "TH"){
elem = elem.parentElement
if (elem == null)
break
}
if (elem) {
selectedTD = elem
selectedTR = selectedTD.parentElement
selectedTBODY = selectedTR.parentElement
selectedTable = selectedTBODY.parentElement
return true
}
}
}
// 表格处理定义函数组结速
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 右键菜单定义函数组开始
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 菜单常量
var sMenuHr="<tr><td align=center valign=middle height=2><TABLE border=0 cellpadding=0 cellspacing=0 width=128 height=2><tr><td height=1 class=HrShadow><\/td><\/tr><tr><td height=1 class=HrHighLight><\/td><\/tr><\/TABLE><\/td><\/tr>";
var sMenu1="<TABLE border=0 cellpadding=0 cellspacing=0 class=Menu2 width=150><tr><td width=18 valign=bottom align=center style='background:url(Editor/images/contextmenu.gif);background-positionY: 35%; background-repeat:no-repeat;'><\/td><td width=132 class=RightBg><TABLE border=0 cellpadding=0 cellspacing=0>";
var sMenu2="<\/TABLE><\/td><\/tr><\/TABLE>";
// 菜单
var oPopupMenu = null;
if (BrowserInfo.IsIE55OrMore){
oPopupMenu = window.createPopup();
}
// 取菜单行
function getMenuRow(s_Disabled, s_Event, s_Image, s_Html) {
var s_MenuRow = "";
s_MenuRow = "<tr><td align=center valign=middle><TABLE border=0 cellpadding=0 cellspacing=0 width=132><tr "+s_Disabled+"><td valign=middle height=20 class=MouseOut onMouseOver=this.className='MouseOver'; onMouseOut=this.className='MouseOut';";
if (s_Disabled==""){
s_MenuRow += " onclick=\"parent."+s_Event+";parent.oPopupMenu.hide();\"";
}
s_MenuRow += ">"
if (s_Image !=""){
s_MenuRow += " <img border=0 src='Editor/Images/"+s_Image+"' width=18 height=18 align=absmiddle "+s_Disabled+"> ";
}else{
s_MenuRow += " ";
}
s_MenuRow += s_Html+"<\/td><\/tr><\/TABLE><\/td><\/tr>";
return s_MenuRow;
}
// 取标准的format菜单行
function getFormatMenuRow(menu, html, image){
var s_Disabled = "";
if (!HtmlEdit.document.queryCommandEnabled(menu)){
s_Disabled = "disabled";
}
var s_Event = "format('"+menu+"')";
var s_Image = menu+".gif";
if (image){
s_Image = image;
}
return getMenuRow(s_Disabled, s_Event, s_Image, html)
}
// 暂时解决一下 不能通用右键的问题
function getFormatMenuRow2(menu, html, image){
var s_Disabled = "";
if (!HtmlEdit.document.queryCommandEnabled(menu)){
s_Disabled = "disabled";
}
var s_Event = "format2('"+menu+"')";
var s_Image = menu+".gif";
if (image){
s_Image = image;
}
return getMenuRow(s_Disabled, s_Event, s_Image, html)
}
//表格菜单
function tableMenu(){
if (!bEditMode) return false;
var sMenu = ""
var width = 150;
var height = 0;
var lefter = event.clientX;
var leftoff = event.offsetX
var topper = event.clientY;
var topoff = event.offsetY;
var oPopDocument = oPopupMenu.document;
var oPopBody = oPopupMenu.document.body;
sMenu += getTableMenuRow("TableInsert");
sMenu += getTableMenuRow("TableProp");
sMenu += sMenuHr;
sMenu += getTableMenuRow("TableCell");
height = 306;
}
// 取表格菜单行
function getTableMenuRow(what){
var s_Menu = "";
var s_Disabled = "disabled";
switch(what){
case "TableInsert":
if (!isTableSelected()) s_Disabled="";
s_Menu += getMenuRow(s_Disabled, "TableInsert()", "table_cr.gif", "插入表格...")
break;
case "TableProp":
if (isTableSelected()||isCursorInTableCell()) s_Disabled="";
s_Menu += getMenuRow(s_Disabled, "TableProp()", "table_sx.gif", "表格属性...")
break;
case "TableCell":
if (isCursorInTableCell()) s_Disabled="";
s_Menu += getMenuRow(s_Disabled, "TableCellProp()", "table_sx2.gif", "单元格属性...")
s_Menu += getMenuRow(s_Disabled, "TableCellSplit()", "table_cf.gif", "拆分单元格...")
s_Menu += sMenuHr;
s_Menu += getMenuRow(s_Disabled, "TableRowProp()", "table_sxh.gif", "表格行属性...")
s_Menu += getMenuRow(s_Disabled, "Table
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -