1. 程式人生 > >js設定剪貼簿資料 event.clipboardData.setData("text/plain",value);不起作用,並非所有的瀏覽器都支援,限制了

js設定剪貼簿資料 event.clipboardData.setData("text/plain",value);不起作用,並非所有的瀏覽器都支援,限制了

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript">
var EventUtil={
getClipboardData:function(event){
var clipboardData=(event.clipboardData||window.clipboardData);
return clipboardData.getData("text");
},
setClipboardData:function(event,value){
if(event.clipboardData){
//return event.clipboardData.setData("text",value);
return event.clipboardData.setData("text/plain",value);
}else if(window.clipboardData){
return window.clipboardData.setData("text",value);
}
},
addHandler:function(element,type,handler){
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;
},
preventDefault:function(event){
if(event.preventDefault)
event.preventDefault();
else
event.returnValue=false;
}
}
function trimall(txt){
/*txt=txt.replace(/^\\s+/,'');
alert(txt);
txt=txt.replace(/\s+$/,'');
alert(txt);*/
txt=txt.replace(/(^\s*)|(\s*$)/g,"");
return txt; 
}

function doit(){
/*var txt=document.getElementById("ipt1").value;
alert(txt.length);
txt=trimall(txt);
alert(txt.length);
document.getElementById("ipt1").value=EventUtil.getClipboardData(event);*/
alert(EventUtil.getClipboardData(event));
}
</script>
<body>
<input id="ipt1" />
<input type="button" onclick="javascript:doit();"/>
</body>
<script type="text/javascript">
EventUtil.addHandler(document.getElementById("ipt1"),"paste",function adjustInput(event){
alert(EventUtil.getClipboardData(event));
event=EventUtil.getEvent(event);
var txt=EventUtil.getClipboardData(event);
txt=trimall(txt);

//event.clipboardData.setData("text/plain",value);不起作用,並非所有的瀏覽器都支援,限制了
//var rst=EventUtil.setClipboardData(event,txt);

EventUtil.preventDefault(event);
document.getElementById("ipt1").value=txt;
});
</script>
</html>

相關推薦

js設定剪貼簿資料 event.clipboardData.setData("text/plain",value);作用並非所有瀏覽器支援限制

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> &

JS操作剪貼簿

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

js讀取剪貼簿內容

注:該讀取剪貼簿方法存在瀏覽器相容問題,適用於ie,不適用於firefox、google,報錯Uncaught ReferenceError: clipboardData is not defined 以下是讀取剪貼簿內容的js程式碼: <script> var text

js實現複製到剪貼簿功能相容所有瀏覽器

前段時間做專案的時候,有點選按鈕複製文字的需求,想使用操作windows剪下板實現,在網上查了些資料,發現目前好像只有IE支援直接訪問剪下板,實現需求的時候也只做了IE中的點選複製功能,其餘瀏覽器: if(window.clipboardData){ window.clip

JS 過濾剪貼簿中的WORD程式碼

function filtrate()//過濾剪貼簿中的WORD程式碼{    var html=clipboardData.getData("text");           html  =  html.replace(/<//?SPAN[^>]*>/g

js處理剪貼簿的內容

在學習這個知識點之前需要了解的是: 在網頁中一般是不允許訪問“剪貼簿”的,因為這樣存在著很大的安全隱患 在IE和FF中剪貼簿的訪問是可控的,但是在Opera、Chrome、Safari瀏覽器中是不允

nw.js 實現 剪貼簿的複製copy 貼上功能 --clipboard api

nw.js node-webkit系列(10)Native UI API Clipboard的使用開發文件 clipboard api: http://liuxp.me/nwjs/References/Clipboard/參考網址:http://blog.csdn.net/z

Atitit Spring事務配置作用可能出現的問題: .是否是資料庫引擎設定不對造成的【筆者就遇到這個問題由於筆者使用的是mysql資料但是在建立表的時候引擎預設(mysql中引擎預設為

Atitit Spring事務配置不起作用可能出現的問題:   .是否是資料庫引擎設定不對造成的【筆者就遇到了這個問題,由於筆者使用的是mysql資料,但是在建立表的時候引擎預設(mysql中引擎預設為MyISAM,是不支援事務操作的),需要修改為InnoDB,就可以支援事務操作了

onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

這行程式碼這樣解釋 onbeforepaste 意思是在使用者執行貼上動作之前。 clipboardData.setData(‘text’, xxx) 是把xxx的內容複製到剪貼簿 clipboardData.getData(‘text’) 是讀出當前剪貼簿裡的

mkdir中設定資料夾訪問許可權作用

問題描述: 在使用下面函式設定資料夾訪問許可權時,發現建立的資料夾的訪問許可權其實不是自己傳進去的mode許可權。 int mkdir(const char *pathname, mode_t mode) 原因解釋如下: man 2 mkdir 告訴我們:The  arg

Safari瀏覽器設定的高度作用解決方案

發現 文字 one 底部對齊 設定 pan select標簽 pro prop 1、在做瀏覽器兼容的時候,發現select標簽在safari蘋果瀏覽器中的高度永遠都是默認的,這時候解決的辦法是加上line-height屬性就可以設置;2、但加上line-height屬性可以

一組資料中只有一個數字出現一次其他所有數字是成對出現的。請找出這個數。(使用位運算)

連續異或即可得到這個數 #include <windows.h> #include <sdilo.h> int find(int a[],int len) { int ret = 0; int i = 0; for (i = 0; i < len;

使用attr()設定checked屬性時第二次作用

使用attr()設定複選框checked屬性時,在jquery 1.8.3版本中沒有問題,但是在jquery 1.10.2版本中,第一次可以使用,第二次不能使用。 解決方法:使用prop屬性代替attr屬性 一、Attr 除 checked, selected, 或 disa

微信小程式設定height 100% 作用解決辦法

https://blog.csdn.net/wshpwangshiyu/article/details/79744884 問題:微信小程式設定背景圖片高度適應整個螢幕,設定height 100% 不起作用? .container-all{ width: 100%; he

關於內層DIV設定margin-top作用的解決方案

關於內層DIV設定margin-top不起作用的解決方案 閱讀目錄 關於內層DIV設定margin-top不起作用的解決方案 回到頂部 關於內層DIV設定margin-top不起作用的解決方案 (一) 近日在做另外一個站點的時候,又遇到這個問題,決定好好的研究

js複製內容相容所有瀏覽器

大概思路: 創造一個新的節點,用完後刪除 var oInput = document.createElement('input'); oInput.value = '複製內容'; document.body.appendChild(oInput); oInput.select();//選

為什麼我設定的虛擬機器引數作用

最近在使用spring cloud做微服務架構,然後spring boot打成jar包執行,發現佔用的記憶體過大,基本上都在1.2G~1.5G之間。 然後很多服務都部署在一臺伺服器上,導致各種服務佔用的記憶體太大,而相互擠佔,經常有服務掉線。 為此,我想給虛擬機器加引數設定堆記憶體大小,然後隨手一百度,就

onchange監聽input值變化及input隱藏後change事件觸發的原因與解決方法(設定readonly後onchange作用的解決方案)

轉自:https://www.cnblogs.com/white0710/p/7338456.html 1. onchange事件監聽input值變化的使用方法: <input id="test"></input> $("input"

微信小程式設定寬高100%作用

小程式的啟動頁圖片是要鋪滿全屏的,我們考慮設定寬高都是100%但是並沒有起作用 .start { width: 100%;    height: 100%; }

mysql表中設定default作用

我平時在設定表格時,例如設定成績預設值為0,但我傳入資料發現數據仍然為null;很是不理解 經過參考查詢得出一些小經驗,記錄一下 1、插入表中資料時,傳遞的引數為null或者“” 都不可以,他們會直接存入資料表中 2、方便的設定預設值是:在對應的實體類的屬性中直