版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41355260/article/details/84788667
if (!Function.prototype.bind) {
Function.prototype.bind = function(obj) {
var _self = this
,args = arguments;
return function() {
_self.apply(obj, Array.prototype.slice.call(args, 1));
}
}
}
function oCopy(name) {
var nameobjs = document.getElementsByName(name);
for (var i = 0; i < nameobjs.length; i++) {
if (nameobjs[i].value != null) {
var obj = nameobjs[i];
obj.select();
window.clipboardData.setData("Text", obj.value);//设置数据
}
}
}
function oPaste(ele){
ele.onkeydown = function (event) {
var evt = event || window.event;
//alert(evt.keyCode);
if (evt.ctrlKey && evt.keyCode == 86) { // ctrl + v
//alert('粘贴快捷键按下');
if (window.clipboardData && window.clipboardData.getData) { // IE
pastedText = window.clipboardData.getData('Text');
//alert(pastedText);
ele.value = ele.value+pastedText;
} else {
pastedText = e.originalEvent.clipboardData.getData('Text');//e.clipboardData.getData('text/plain');
// alert(pastedText);
ele.value = ele.value+pastedText;
}
}
}
}
崩溃的IE5bug调了一整天,多米诺的showdialog弹出框中所有文本框不支持复制粘贴,只好写了两个函数模拟。
IE5 不支持bind事件和addEventListener事件,上面代码中的bind适配兼容到IE6。
无助,诸位大神有解决方案的话,还请多多指教!
补充:判断IE浏览器版本函数
function IEVersion() {
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
if(isIE) {
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
if(fIEVersion == 7) {
return 7;
} else if(fIEVersion == 8) {
return 8;
} else if(fIEVersion == 9) {
return 9;
} else if(fIEVersion == 10) {
return 10;
} else {
return 6;//IE版本<=7
}
} else if(isEdge) {
return 'edge';//edge
} else if(isIE11) {
return 11; //IE11
}else{
return -1;//不是ie浏览器
}
}