document.execCommand()的用法小记

摘要:
以下重点介绍execCommand execCommand方法,该方法用于为当前文档/当前选择/给定范围执行命令。处理Html数据时通常使用以下格式:document execCommand,其中:sCommand是指令参数。如果交互模式参数为真,将显示一个对话框。如果为false,则不会显示对话框。动态参数通常是可用值或属性值。文件execCommand;首先要注意的是firefox并不很支持它。InsertInputFileUpload使用文件上载控件覆盖当前选定区域。RemoveFormat从当前选择区域删除格式标签。当前不支持StopImage。下划线切换是否显示当前所选内容的下划线。取消选择将清除当前选定区域的选定状态。

项目中遇到金额输入框限制只能输入数字,输入特殊字符或者字母汉字时间隔不到1秒内容就会自动清空。跟正则纠缠多年的我初次见到,很是神奇-.-

代码实现:

<input type="text" onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"/>

看效果的话自己动手做做吧,没法上传动图。

下面着重介绍下 execCommand  

execCommand方法是执行一个对当前文档/当前选择/给出范围的命令。

处理Html数据时常用.
如下格式:document.execCommand(sCommand[,交互方式, 动态参数]) ,其中:sCommand为指令参数(如下例中的”2D-Position”),交互方式参数如果是true的话将显示对话框,如果为false的话,则不显示对话框(下例中的”false”即表示不显示对话框),动态参数一般为一可用值或属性值(如下例中的”true”)。

document.execCommand("2D-Position","false","true");
首先要说明的是在firefox下支持不好。
下面列出的是指令参数及意义(遇到的参数加高亮)
2D-Position 允许通过拖曳移动绝对定位的对象。 
AbsolutePosition 设定元素的 position 属性为“absolute”(绝对)。 
BackColor 设置或获取当前选中区的背景颜色。 
BlockDirLTR 目前尚未支持。 
BlockDirRTL 目前尚未支持。 
Bold 切换当前选中区的粗体显示与否。 
BrowseMode 目前尚未支持。 
Copy 将当前选中区复制到剪贴板。 
CreateBookmark 创建一个书签锚或获取当前选中区或插入点的书签锚的名称。 
CreateLink 在当前选中区上插入超级链接,或显示一个对话框允许用户指定要为当前选中区插入的超级链接的 URL。 
Cut 将当前选中区复制到剪贴板并删除之。 
Delete 删除当前选中区。 
DirLTR 目前尚未支持。 
DirRTL 目前尚未支持。 
EditMode 目前尚未支持。 
FontName 设置或获取当前选中区的字体。 
FontSize 设置或获取当前选中区的字体大小。 
ForeColor 设置或获取当前选中区的前景(文本)颜色。 
FormatBlock 设置当前块格式化标签。 
Indent 增加选中文本的缩进。 
InlineDirLTR 目前尚未支持。 
InlineDirRTL 目前尚未支持。 
InsertButton 用按钮控件覆盖当前选中区。 
InsertFieldset 用方框覆盖当前选中区。 
InsertHorizontalRule 用水平线覆盖当前选中区。 
InsertIFrame 用内嵌框架覆盖当前选中区。 
InsertImage 用图像覆盖当前选中区。 
InsertInputButton 用按钮控件覆盖当前选中区。 
InsertInputCheckbox 用复选框控件覆盖当前选中区。 
InsertInputFileUpload 用文件上载控件覆盖当前选中区。 
InsertInputHidden 插入隐藏控件覆盖当前选中区。 
InsertInputImage 用图像控件覆盖当前选中区。 
InsertInputPassword 用密码控件覆盖当前选中区。 
InsertInputRadio 用单选钮控件覆盖当前选中区。 
InsertInputReset 用重置控件覆盖当前选中区。 
InsertInputSubmit 用提交控件覆盖当前选中区。 
InsertInputText 用文本控件覆盖当前选中区。 
InsertMarquee 用空字幕覆盖当前选中区。 
InsertOrderedList 切换当前选中区是编号列表还是常规格式化块。 
InsertParagraph 用换行覆盖当前选中区。 
InsertSelectDropdown 用下拉框控件覆盖当前选中区。 
InsertSelectListbox 用列表框控件覆盖当前选中区。 
InsertTextArea 用多行文本输入控件覆盖当前选中区。 
InsertUnorderedList 切换当前选中区是项目符号列表还是常规格式化块。 
Italic 切换当前选中区斜体显示与否。 
JustifyCenter 将当前选中区在所在格式化块置中。 
JustifyFull 目前尚未支持。 
JustifyLeft 将当前选中区所在格式化块左对齐。 
JustifyNone 目前尚未支持。 
JustifyRight 将当前选中区所在格式化块右对齐。 
LiveResize 迫使 MSHTML 编辑器在缩放或移动过程中持续更新元素外观,而不是只在移动或缩放完成后更新。 
MultipleSelection 允许当用户按住 Shift 或 Ctrl 键时一次选中多于一个站点可选元素。 
Open 打开。 
Outdent 减少选中区所在格式化块的缩进。 
OverWrite 切换文本状态的插入和覆盖。 
Paste 用剪贴板内容覆盖当前选中区。 
PlayImage 目前尚未支持。 
Print 打开打印对话框以便用户可以打印当前页。 
Redo 重做。 
Refresh 刷新当前文档。 
RemoveFormat 从当前选中区中删除格式化标签。 
RemoveParaFormat 目前尚未支持。 
SaveAs 将当前 Web 页面保存为文件。 
SelectAll 选中整个文档。 
SizeToControl 目前尚未支持。 
SizeToControlHeight 目前尚未支持。 
SizeToControlWidth 目前尚未支持。 
Stop 停止。 
StopImage 目前尚未支持。 
StrikeThrough 目前尚未支持。 
Subscript 目前尚未支持。 
Superscript 目前尚未支持。 
UnBookmark 从当前选中区中删除全部书签。 
Underline 切换当前选中区的下划线显示与否。 
Undo 撤消。 
Unlink 从当前选中区中删除全部超级链接。 
Unselect 清除当前选中区的选中状态。

举个栗子:

例1:
    isNaN是测试是否为数值型 ,限制输入只能为数值如:1981.121,允许最多有一个小数点 

<input type="text" name="text" onkeyup="if(isNaN(value))execCommand('undo')" />


例2:

document.execCommand()的用法小记第1张<input type=button value=剪切 onclick=document.execCommand('Cut')>
document.execCommand()的用法小记第1张<input type=button value=拷贝 onclick=document.execCommand('Copy')>
document.execCommand()的用法小记第1张<input type=button value=粘贴 onclick=document.execCommand('Paste')>
document.execCommand()的用法小记第1张<input type=button value=撤消 onclick=document.execCommand('Undo')>
document.execCommand()的用法小记第1张<input type=button value=重做 onclick=document.execCommand('Redo') id=button2 name=button2>
document.execCommand()的用法小记第1张<input>
document.execCommand()的用法小记第1张<input type=button value=删除 onclick=document.execCommand('Delete')>
document.execCommand()的用法小记第1张<input type=button value=黑体 onclick=document.execCommand('Bold')>
document.execCommand()的用法小记第1张<input type=button value=斜体 onclick=document.execCommand('Italic')>
document.execCommand()的用法小记第1张<input type=button value=下划线 onclick=document.execCommand('Underline')>
document.execCommand()的用法小记第1张<input type=button value=停止 onclick=document.execCommand('stop')>
document.execCommand()的用法小记第1张<input type=button value=保存 onclick=document.execCommand('SaveAs')>
document.execCommand()的用法小记第1张<input type=button value=另存为 onclick=document.execCommand('Saveas',false,'c:\test.htm')>
document.execCommand()的用法小记第1张<input type=button value=字体 onclick=document.execCommand('FontName',false,fn)>
document.execCommand()的用法小记第1张<input type=button value=字体大小 onclick=document.execCommand('FontSize',false,fs)>
document.execCommand()的用法小记第1张<input type=button value=刷新 onclick=document.execCommand('refresh',false,0)>

还有些栗子:

 1 /* 
 2 *第二个参数最好不要设置为TRUE,否则可能会执行不了 
 3 */  
 4 //加粗  
 5 function jiacu()  
 6 {  
 7     document.execCommand("Bold",false,null);  
 8 }  
 9 //斜体  
10 function xieti()  
11 {  
12     document.execCommand("Italic",false,null);  
13 }  
14 //下划线  
15 function xiahua()  
16 {  
17     document.execCommand("Underline",false,null);  
18 }  
19 //删除线  
20 function shanchu()  
21 {  
22     document.execCommand("StrikeThrough",false,null);  
23 }  
24   
25 //设置字体  
26 function setFontName(param)  
27 {  
28     document.execCommand("FontName",false,param);  
29     document.getElementById("fontUl").style.display="none";   
30 }  
31 //设置字体大小  
32 function setFontSize(param)  
33 {  
34     document.execCommand("FontSize",false,param);  
35     document.getElementById("sizeUl").style.display="none";   
36 }  
37 //设置字体颜色  
38 function setFontColor(param)  
39 {  
40     document.execCommand("ForeColor",false,param)  
41     document.getElementById("fontColor1").style.display="none";   
42 }  
43 //设置背景颜色  
44 function setBackColor(param)  
45 {  
46     document.execCommand("BackColor",false,param)  
47     document.getElementById("bgColor1").style.display="none";   
48 }  
49 //删除文字格式  
50 function removeFormat()  
51 {  
52     document.execCommand("RemoveFormat",false,null);  
53 }  
54 //对齐方式  
55 function duiqiway(param)  
56 {  
57     document.execCommand(param,false,null);  
58     document.getElementById("duiqiUl").style.display="none";   
59 }  
60 //插入列表  
61 function insertList(param)       //不能实现  
62 {  
63     document.execCommand(param,false,null);  
64     alert("暂时未实现");  
65     document.getElementById("liebiaoUl").style.display="none";   
66 }  
67 //改变缩进  
68 function changeIndent(param)    //不能实现  
69 {  
70     document.execCommand(param,false,null);  
71     alert("暂时未实现");  
72 }  
73 //链接                           //不能实现,取消链接的命令只用于用createLink命令创建的链接  
74 function setLink(param)  
75 {  
76     document.execCommand(param,false,"http://blog.csdn.net/u011043843"); //第三个参数为URL  
77     alert("暂时未实现");  
78 }  
79 //表情  
80 function insertBQ(param)  
81 {  
82     document.execCommand("InsertImage",false,param);   //param为图片的url    
83     document.getElementById("bqDiv").style.display="none";   
84 }  
85   
86 //段落  
87 function parag(param)  
88 {  
89     document.execCommand("formatBlock",false,param);  
90     document.getElementById("paraUl").style.display="none";  
91 }

免责声明:文章转载自《document.execCommand()的用法小记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇为什么要学数据库原理?iOS内存区域分布下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

freemarke之TemplateDirectiveModel详解

http://hougbin.iteye.com/blog/1457924 TemplateDirectiveModel接口是freemarker自定标签或者自定义指令的核心处理接口。通过实现该接口,用户可以自定义标签(指令)进行任意操作,、 任意文本写入模板的输出。 该接口中只定义了如下方法,当模板页面遇到用户自定义的标签指令时,该方法会被执行。 pub...

python Selenium+phantomjs 小技巧

1、元素模糊定位 如抓取下面列表: elements = doc("li[id^='result_']") 2、元素精确定位      elements =doc("div[class='a-fixed-left-grid-inner']") eq索引从0开始 elements =doc("div[class='a-fixed-left-grid-i...

android 拍照上传照片

废话不多说,直接进入主题,想要在android中实现拍照最简单饿方法就是New 一个 Intent 设置Action为android.media.action.IMAGE_CAPTURE 然后使用startActivityForResult(intent,REQUEST_CODE)方法进入相机。当然还有很多方式可以实现,大家可以在网上查找。但是要注意的是在...

权限设计的idea

1、角色增加两个字段,一级部门(如钻井事业部),党组织角色(或者团委在线角色)当然或者是其他的团委在线角色 2、增加一张表,标示在线模块(如党组织在线,团委在线,工会在线,纪检在线), 3、菜单(栏目)增加两个字段,一级部门,党组织菜单(或者团委在线角色) 4、菜单(栏目),action ,param,菜单与action多对一,菜单与param多对1,ac...

jquery 多级联动下拉列表含(数据模型)

方法 /** * 级联 * 联动 * @param url:访问json数据的地址 * @param param:参数 * @param levelIds:页面下拉标签数组,为联动级数 * @private */ function _yh_linkage(url,params, levelIds){ _yh_post...

PHP curl请求封装

/** * @Description: curl请求 * @Author: Yang * @param $url * @param null $data * @param string $method * @param array $header * @param bool $https * @param int $timeout * @...