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 = (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了。

上一篇:搬运:Python for Windows——监控Windows某个目录下文件的变化


下一篇:0.9.0.RELEASE版本的spring cloud alibaba sentinel+feign降级处理实例