1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- UE.plugin.register("copy", function() {
- var me = this;
- function initZeroClipboard() {
- ZeroClipboard.config({
- debug: false,
- swfPath:
- me.options.UEDITOR_HOME_URL +
- "third-party/zeroclipboard/ZeroClipboard.swf"
- });
- var client = (me.zeroclipboard = new ZeroClipboard());
- // 复制内容
- client.on("copy", function(e) {
- var client = e.client,
- rng = me.selection.getRange(),
- div = document.createElement("div");
- div.appendChild(rng.cloneContents());
- client.setText(div.innerText || div.textContent);
- client.setHtml(div.innerHTML);
- rng.select();
- });
- // hover事件传递到target
- client.on("mouseover mouseout", function(e) {
- var target = e.target;
- if (target) {
- if (e.type == "mouseover") {
- domUtils.addClass(target, "edui-state-hover");
- } else if (e.type == "mouseout") {
- domUtils.removeClasses(target, "edui-state-hover");
- }
- }
- });
- // flash加载不成功
- client.on("wrongflash noflash", function() {
- ZeroClipboard.destroy();
- });
- // 触发事件
- me.fireEvent("zeroclipboardready", client);
- }
- return {
- bindEvents: {
- ready: function() {
- if (!browser.ie) {
- if (window.ZeroClipboard) {
- initZeroClipboard();
- } else {
- utils.loadFile(
- document,
- {
- src:
- me.options.UEDITOR_HOME_URL +
- "third-party/zeroclipboard/ZeroClipboard.js",
- tag: "script",
- type: "text/javascript",
- defer: "defer"
- },
- function() {
- initZeroClipboard();
- }
- );
- }
- }
- }
- },
- commands: {
- copy: {
- execCommand: function(cmd) {
- if (!me.document.execCommand("copy")) {
- alert(me.getLang("copymsg"));
- }
- }
- }
- }
- };
- });
|