emotion.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. Emotion = {
  2. url : "/image/admin/emotion/",
  3. data : {
  4. 0 : "微笑",
  5. 1 : "撇嘴",
  6. 2 : "色",
  7. 3 : "发呆",
  8. 4 : "得意",
  9. 5 : "流泪",
  10. 6 : "害羞",
  11. 7 : "闭嘴",
  12. 8 : "睡",
  13. 9 : "大哭",
  14. 10 : "尴尬",
  15. 11 : "发怒",
  16. 12 : "调皮",
  17. 13 : "呲牙",
  18. 14 : "惊讶",
  19. 15 : "难过",
  20. 16 : "酷",
  21. 17 : "冷汗",
  22. 18 : "抓狂",
  23. 19 : "吐",
  24. 20 : "偷笑",
  25. 21 : "可爱",
  26. 22 : "白眼",
  27. 23 : "傲慢",
  28. 24 : "饥饿",
  29. 25 : "困",
  30. 26 : "惊恐",
  31. 27 : "流汗",
  32. 28 : "憨笑",
  33. 29 : "大兵",
  34. 30 : "奋斗",
  35. 31 : "咒骂",
  36. 32 : "疑问",
  37. 33 : "嘘",
  38. 34 : "晕",
  39. 35 : "折磨",
  40. 36 : "衰",
  41. 37 : "骷髅",
  42. 38 : "敲打",
  43. 39 : "再见",
  44. 40 : "擦汗",
  45. 41 : "抠鼻",
  46. 42 : "鼓掌",
  47. 43 : "糗大了",
  48. 44 : "坏笑",
  49. 45 : "左哼哼",
  50. 46 : "右哼哼",
  51. 47 : "哈欠",
  52. 48 : "鄙视",
  53. 49 : "委屈",
  54. 50 : "快哭了",
  55. 51 : "阴险",
  56. 52 : "亲亲",
  57. 53 : "吓",
  58. 54 : "可怜",
  59. 55 : "菜刀",
  60. 56 : "西瓜",
  61. 57 : "啤酒",
  62. 58 : "篮球",
  63. 59 : "乒乓",
  64. 60 : "咖啡",
  65. 61 : "饭",
  66. 62 : "猪头",
  67. 63 : "玫瑰",
  68. 64 : "凋谢",
  69. 65 : "示爱",
  70. 66 : "爱心",
  71. 67 : "心碎",
  72. 68 : "蛋糕",
  73. 69 : "闪电",
  74. 70 : "炸弹",
  75. 71 : "刀",
  76. 72 : "足球",
  77. 73 : "瓢虫",
  78. 74 : "便便",
  79. 75 : "月亮",
  80. 76 : "太阳",
  81. 77 : "礼物",
  82. 78 : "拥抱",
  83. 79 : "强",
  84. 80 : "弱",
  85. 81 : "握手",
  86. 82 : "胜利",
  87. 83 : "抱拳",
  88. 84 : "勾引",
  89. 85 : "拳头",
  90. 86 : "差劲",
  91. 87 : "爱你",
  92. 88 : "NO",
  93. 89 : "OK",
  94. 90 : "爱情",
  95. 91 : "飞吻",
  96. 92 : "跳跳",
  97. 93 : "发抖",
  98. 94 : "怄火",
  99. 95 : "转圈",
  100. 96 : "磕头",
  101. 97 : "回头",
  102. 98 : "跳绳",
  103. 99 : "挥手",
  104. 100 : "激动",
  105. 101 : "街舞",
  106. 102 : "献吻",
  107. 103 : "左太极",
  108. 104 : "右太极"
  109. },
  110. ext : ".gif",
  111. replaceEmoji : function(f) {
  112. var b, h, d = Emotion, a = d.url, c = d.ext, g = d.data;
  113. for (b in g) {
  114. h = new RegExp("/" + g[b], "g"), f = f.replace(h,
  115. '<img src="' + a + b + c + '" alt="mo-' + g[b] + '"/>')
  116. .replace(/\n/g, "<br />")
  117. }
  118. return f
  119. },
  120. replaceInput : function(a) {
  121. return a.replace(/<img.*?alt=["]{0,1}mo-([^"\s]*).*?>/ig, "/$1")
  122. .replace(/<br.*?>/ig, "\n").replace(/<.*?>/g, "").replace(
  123. /&amp;/gi, "&").replace(/&quot;/gi, '"').replace(
  124. /&nbsp;/gi, " ").replace(/&copy;/gi, "©").replace(
  125. /&reg;/gi, "®")
  126. },
  127. getSelection : function() {
  128. return document.selection ? document.selection : window.getSelection()
  129. },
  130. getRange : function(c) {
  131. var d = Emotion;
  132. var a = d.getSelection();
  133. if (!a) {
  134. return null
  135. }
  136. var b = a.getRangeAt ? a.rangeCount ? a.getRangeAt(0) : null : a
  137. .createRange();
  138. return b ? c ? d.containsRange(c, b) ? b : null : b : null
  139. },
  140. contains : function(c, a, d) {
  141. if (!d && c === a) {
  142. return !1
  143. }
  144. if (c.compareDocumentPosition) {
  145. var b = c.compareDocumentPosition(a);
  146. if (b == 20 || b == 0) {
  147. return !0
  148. }
  149. } else {
  150. if (c.contains(a)) {
  151. return !0
  152. }
  153. }
  154. return !1
  155. },
  156. containsRange : function(c, a) {
  157. var d = Emotion;
  158. var b = a.commonAncestorContainer || a.parentElement
  159. && a.parentElement() || null;
  160. return b ? d.contains(c, b, !0) : !1
  161. },
  162. saveRange : function() {
  163. Emotion._lastRange = Emotion.getRange()
  164. },
  165. resotreRange : function() {
  166. var c = Emotion._lastRange;
  167. var b = Emotion;
  168. if (c) {
  169. var a = b.getSelection();
  170. if (a.addRange) {
  171. a.removeAllRanges(), a.addRange(c)
  172. } else {
  173. var d = b.getRange();
  174. d.setEndPoint("EndToEnd", c), d.setEndPoint("StartToStart", c),
  175. d.select()
  176. }
  177. }
  178. return this
  179. },
  180. focus : function(c) {
  181. $(".editArea div").focus();
  182. var b;
  183. if (c && (b = Emotion._lastRange)) {
  184. var d = Emotion.getSelection();
  185. if (d.addRange) {
  186. d.removeAllRanges();
  187. d.addRange(b)
  188. } else {
  189. var a = Emotion.getRange();
  190. a.setEndPoint("EndToEnd", b);
  191. a.setEndPoint("StartToStart", b);
  192. a.select()
  193. }
  194. }
  195. return Emotion.resotreRange()
  196. },
  197. insertHTML : function(d) {
  198. Emotion.focus(1);
  199. var b = Emotion.getRange();
  200. if (b.createContextualFragment) {
  201. d += '<img style="width:1px;height:1px;">';
  202. var f = b.createContextualFragment(d), a = f.lastChild;
  203. b.deleteContents(), b.insertNode(f), b.setEndAfter(a), b
  204. .setStartAfter(a);
  205. var c = Emotion.getSelection();
  206. c.removeAllRanges(), c.addRange(b), document.execCommand("Delete",
  207. !1, null)
  208. } else {
  209. b.pasteHTML(d);
  210. b.collapse(!1);
  211. b.select()
  212. }
  213. Emotion.saveRange();
  214. return this
  215. }
  216. };