首页 > 代码库 > jQuery event的复制粘贴的坑

jQuery event的复制粘贴的坑

jQuery为了兼容性会把系统暴露出来的event重新整理一遍,但是复制粘贴的event就被丢掉了。

所以要在所有原生浏览器想实现复制粘贴,大家都用flash实现了。其实只要用原生的方法捕获事件就ok。简单来个方法。

var EventUtil = {        addHandler: function (element, type, handler) {            if(!element)                return false;            if (element.addEventListener) {                element.addEventListener(type, handler, false);            } else if (element.attachEvent) {                element.attachEvent("on" + type, handler);            } else {                element["on" + type] = handler;            }        },        getEvent: function (event) {            return event ? event : window.event;        },        getClipboardText: function (event) {            var clipboardData = http://www.mamicode.com/(event.clipboardData || window.clipboardData);            return clipboardData.getData("text");        },        setClipboardText: function (event, value) {            if (event.clipboardData) {                return event.clipboardData.setData("text/plain", value);            } else if (window.clipboardData) {                return window.clipboardData.setData("text", value);            }        },        preventDefault: function (event) {            if (event.preventDefault) {                event.preventDefault();            } else {                event.returnValue = false;            }        }    };

 

用原生的addEventListener暴露出来的e就有clipboardData了。