cmd.rst 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579
  1. Command API
  2. ========================================================
  3. .. contents::
  4. :depth: 2
  5. .. index:: cmd
  6. .. _K.cmd:
  7. K.cmd(doc)
  8. --------------------------------------------------------
  9. 创建KCmd对象,KCmd用于操作可视化编辑区域的DOM。
  10. * 参数:
  11. * document doc: document或KRange ( :doc:`range` )
  12. * 返回: KCmd
  13. 示例:
  14. .. sourcecode:: js
  15. var cmd = K.cmd(document);
  16. cmd.bold();
  17. cmd.wrap('<span style="color:red;"></span>');
  18. cmd.remove({
  19. span : '*',
  20. div : 'class,border'
  21. });
  22. .. index:: doc
  23. .. _KCmd.doc:
  24. doc
  25. --------------------------------------------------------
  26. document对象。
  27. .. index:: win
  28. .. _KCmd.win:
  29. win
  30. --------------------------------------------------------
  31. window对象。
  32. .. index:: sel
  33. .. _KCmd.sel:
  34. sel
  35. --------------------------------------------------------
  36. 原生selection对象。
  37. .. index:: range
  38. .. _KCmd.range:
  39. range
  40. --------------------------------------------------------
  41. KRange对象 ( :doc:`range` )
  42. .. index:: selection
  43. .. _KCmd.selection:
  44. selection([forceReset])
  45. --------------------------------------------------------
  46. 根据当前选中状态,重新设置range。
  47. * 参数:
  48. * Boolean forceReset: 默认值为false,值为true时如果当前没有选中信息,自动选择文档的最后位置,
  49. * 返回: KCmd
  50. 示例:
  51. .. sourcecode:: js
  52. cmd.selection();
  53. .. index:: select
  54. .. _KCmd.select:
  55. select()
  56. --------------------------------------------------------
  57. 选中range。
  58. * 参数: 无
  59. * 返回: KCmd
  60. 示例:
  61. .. sourcecode:: js
  62. cmd.select();
  63. .. index:: wrap
  64. .. _KCmd.wrap:
  65. wrap(val)
  66. --------------------------------------------------------
  67. 用指定element围住range。
  68. * 参数:
  69. * string|node val: DOM元素、HTML代码
  70. * 返回: KCmd
  71. 示例:
  72. .. sourcecode:: js
  73. cmd.wrap('<strong></strong>');
  74. .. index:: split
  75. .. _KCmd.split:
  76. split(isStart , map)
  77. --------------------------------------------------------
  78. 根据map规则分割range的开始位置或结束位置。
  79. * 参数:
  80. * boolean isStart: true或false
  81. * object map: 规则
  82. * 返回: KCmd
  83. 示例:
  84. .. sourcecode:: js
  85. cmd.split(true, {
  86. span : '*',
  87. div : 'class,border'
  88. });
  89. .. index:: remove
  90. .. _KCmd.remove:
  91. remove(map)
  92. --------------------------------------------------------
  93. 根据map规则删除range中的element或attribute。
  94. * 参数:
  95. * object map: 规则
  96. * 返回: KCmd
  97. 示例:
  98. .. sourcecode:: js
  99. cmd.remove({
  100. span : '*',
  101. div : 'class,border'
  102. });
  103. .. index:: commonAncestor
  104. .. _KCmd.commonAncestor:
  105. commonAncestor(tagName)
  106. --------------------------------------------------------
  107. 根据map规则取得range的共同祖先。
  108. * 参数:
  109. * string tagName: 规则
  110. * 返回: KNode ( :doc:`node` )
  111. 示例:
  112. .. sourcecode:: js
  113. var knode = cmd.commonAncestor('table');
  114. .. index:: state
  115. .. _KCmd.state:
  116. state(commandName)
  117. --------------------------------------------------------
  118. Determines whether the given command has been executed on the current selection.
  119. * 参数:
  120. * string commandName: 命令名
  121. * 返回: boolean
  122. .. note::
  123. Reference: https://developer.mozilla.org/en/Midas
  124. 示例:
  125. .. sourcecode:: js
  126. bool = cmd.state('bold');
  127. .. index:: val
  128. .. _KCmd.val:
  129. val(commandName)
  130. --------------------------------------------------------
  131. Determines the current value of the document, range, or current selection for the given command.
  132. * 参数:
  133. * string commandName: 命令名
  134. * 返回: string
  135. 示例:
  136. .. sourcecode:: js
  137. fontSize = cmd.val('fontsize');
  138. .. note::
  139. 目前只支持以下命令:
  140. * fontfamily (fontname)
  141. * formatblock
  142. * forecolor
  143. * hilitecolor
  144. .. index:: bold
  145. .. _KCmd.bold:
  146. bold()
  147. --------------------------------------------------------
  148. 粗体
  149. * 参数: 无
  150. * 返回: KCmd
  151. .. index:: italic
  152. .. _KCmd.italic:
  153. italic()
  154. --------------------------------------------------------
  155. 斜体
  156. * 参数: 无
  157. * 返回: KCmd
  158. .. index:: underline
  159. .. _KCmd.underline:
  160. underline()
  161. --------------------------------------------------------
  162. 下划线
  163. * 参数: 无
  164. * 返回: KCmd
  165. .. index:: strikethrough
  166. .. _KCmd.strikethrough:
  167. strikethrough()
  168. --------------------------------------------------------
  169. 删除线
  170. * 参数: 无
  171. * 返回: KCmd
  172. .. index:: forecolor
  173. .. _KCmd.forecolor:
  174. forecolor(val)
  175. --------------------------------------------------------
  176. 文字颜色
  177. * 参数:
  178. * string val: 颜色
  179. * 返回: KCmd
  180. .. index:: hilitecolor
  181. .. _KCmd.hilitecolor:
  182. hilitecolor(val)
  183. --------------------------------------------------------
  184. 文字背景
  185. * 参数:
  186. * string val: 颜色
  187. * 返回: KCmd
  188. .. index:: fontsize
  189. .. _KCmd.fontsize:
  190. fontsize(val)
  191. --------------------------------------------------------
  192. 文字大小
  193. * 参数:
  194. * string val: 文字大小
  195. * 返回: KCmd
  196. .. index:: fontfamily
  197. .. _KCmd.fontfamily:
  198. fontfamily(val)
  199. --------------------------------------------------------
  200. 字体
  201. * 参数:
  202. * string val: 字体
  203. * 返回: KCmd
  204. .. index:: fontname
  205. .. _KCmd.fontname:
  206. fontname(val)
  207. --------------------------------------------------------
  208. 字体, :ref:`KCmd.fontfamily` 的别名。
  209. * 参数:
  210. * string val: 字体
  211. * 返回: KCmd
  212. .. index:: removeformat
  213. .. _KCmd.removeformat:
  214. removeformat()
  215. --------------------------------------------------------
  216. 删除inline样式
  217. * 参数: 无
  218. * 返回: KCmd
  219. .. index:: inserthtml
  220. .. _KCmd.inserthtml:
  221. inserthtml(val)
  222. --------------------------------------------------------
  223. 插入HTML
  224. * 参数:
  225. * string val: HTML
  226. * 返回: KCmd
  227. .. index:: hr
  228. .. _KCmd.hr:
  229. hr()
  230. --------------------------------------------------------
  231. 插入水平线
  232. * 参数: 无
  233. * 返回: KCmd
  234. .. index:: print
  235. .. _KCmd.print:
  236. print()
  237. --------------------------------------------------------
  238. 弹出打印窗口
  239. * 参数: 无
  240. * 返回: KCmd
  241. .. index:: insertimage
  242. .. _KCmd.insertimage:
  243. insertimage(url , title , width , height , border , align)
  244. -----------------------------------------------------------------------
  245. 插入图片
  246. * 参数:
  247. * string url: 图片URL
  248. * string title: 图片alt
  249. * int width: 图片宽度
  250. * int height: 图片高度
  251. * int border: 图片边框
  252. * string align: 对齐方式
  253. * 返回: KCmd
  254. .. index:: createlink
  255. .. _KCmd.createlink:
  256. createlink(url , target)
  257. --------------------------------------------------------
  258. 超级链接
  259. * 参数:
  260. * string url: URL
  261. * string target: 打开方式
  262. * 返回: KCmd
  263. .. index:: unlink
  264. .. _KCmd.unlink:
  265. unlink()
  266. --------------------------------------------------------
  267. 取消超级链接
  268. * 参数: 无
  269. * 返回: KCmd
  270. .. index:: formatblock
  271. .. _KCmd.formatblock:
  272. formatblock(val)
  273. --------------------------------------------------------
  274. 段落
  275. * 参数:
  276. * string val: 段落标签
  277. * 返回: KCmd
  278. .. index:: selectall
  279. .. _KCmd.selectall:
  280. selectall()
  281. --------------------------------------------------------
  282. 全选
  283. * 参数: 无
  284. * 返回: KCmd
  285. .. index:: justifyleft
  286. .. _KCmd.justifyleft:
  287. justifyleft()
  288. --------------------------------------------------------
  289. 左对齐
  290. * 参数: 无
  291. * 返回: KCmd
  292. .. index:: justifycenter
  293. .. _KCmd.justifycenter:
  294. justifycenter()
  295. --------------------------------------------------------
  296. 居中
  297. * 参数: 无
  298. * 返回: KCmd
  299. .. index:: justifyright
  300. .. _KCmd.justifyright:
  301. justifyright()
  302. --------------------------------------------------------
  303. 右对齐
  304. * 参数: 无
  305. * 返回: KCmd
  306. .. index:: justifyfull
  307. .. _KCmd.justifyfull:
  308. justifyfull()
  309. --------------------------------------------------------
  310. 两端对齐
  311. * 参数: 无
  312. * 返回: KCmd
  313. .. index:: insertorderedlist
  314. .. _KCmd.insertorderedlist:
  315. insertorderedlist()
  316. --------------------------------------------------------
  317. 编号
  318. * 参数: 无
  319. * 返回: KCmd
  320. .. index:: insertunorderedlist
  321. .. _KCmd.insertunorderedlist:
  322. insertunorderedlist()
  323. --------------------------------------------------------
  324. 项目符号
  325. * 参数: 无
  326. * 返回: KCmd
  327. .. index:: indent
  328. .. _KCmd.indent:
  329. indent()
  330. --------------------------------------------------------
  331. 增加缩进
  332. * 参数: 无
  333. * 返回: KCmd
  334. .. index:: outdent
  335. .. _KCmd.outdent:
  336. outdent()
  337. --------------------------------------------------------
  338. 减少缩进
  339. * 参数: 无
  340. * 返回: KCmd
  341. .. index:: subscript
  342. .. _KCmd.subscript:
  343. subscript()
  344. --------------------------------------------------------
  345. 下标
  346. * 参数: 无
  347. * 返回: KCmd
  348. .. index:: superscript
  349. .. _KCmd.superscript:
  350. superscript()
  351. --------------------------------------------------------
  352. 上标
  353. * 参数: 无
  354. * 返回: KCmd
  355. .. index:: cut
  356. .. _KCmd.cut:
  357. cut()
  358. --------------------------------------------------------
  359. 剪切
  360. * 参数: 无
  361. * 返回: KCmd
  362. .. index:: copy
  363. .. _KCmd.copy:
  364. copy()
  365. --------------------------------------------------------
  366. 复制
  367. * 参数: 无
  368. * 返回: KCmd
  369. .. index:: paste
  370. .. _KCmd.paste:
  371. paste()
  372. --------------------------------------------------------
  373. 粘贴
  374. * 参数: 无
  375. * 返回: KCmd