控件代碼:
<textarea id="Instruction" runat="server" class="textbox" maxlength="50" οninput="return onmyinput(this)" οnkeypress="return onmykeypress(this);" οnpaste="return onmypaste(this);" onpropertychange="onmyinput(this)" rows="4" style="width: 80%;margin-bottom: 8px;">
JS代碼:
<mce:script type="text/javascript"><!-- function onmyinput(o) { if(o.value.length>=o.getAttribute("maxlength")) { if(o.value.length>o.getAttribute("maxlength")) o.value = o.value.substring(0,o.getAttribute("maxlength")); return false; } return true; } function mygetclipdata() { if(!document.all) { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); trans.addDataFlavor('text/unicode'); var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); clip.getData(trans,clip.kGlobalClipboard); var str=new Object(); var strLength=new Object(); trans.getTransferData("text/unicode",str,strLength); if (str) str=str.value.QueryInterface(Components.interfaces.nsISupportsString); var pastetext; if (str) pastetext=str.data.substring(0,strLength.value / 2); return pastetext; } else { return window.clipboardData.getData("Text"); } } function mysetclipdata(o) { if(!document.all) { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); trans.addDataFlavor("text/unicode"); var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); str.data=o; trans.setTransferData("text/unicode",str,o.length*2); var clipid=Components.interfaces.nsIClipboard; clip.setData(trans,null,clipid.kGlobalClipboard); } else { window.clipboardData.setData("Text",o); } } function onmypaste(o) { var nMaxLen=o.getAttribute? parseInt(o.getAttribute("maxlength")):""; if(!document.all) { alert("Don't execute code!"); } else { if(document.selection.createRange().text.length>0) { var ovalueandclipboarddata = o.value +window.clipboardData.getData("Text"); if(o.getAttribute && ovalueandclipboarddata.length-document.selection.createRange().text.length>nMaxLen) { if(window.clipboardData.getData("Text").substring(0,document.selection.createRange().text.length+nMaxLen-o.value.length)!="") window.clipboardData.setData("Text",window.clipboardData.getData("Text").substring(0,document.selection.createRange().text.length+nMaxLen-o.value.length)); else return false; } } else { var ovalueandclipboarddata = o.value +window.clipboardData.getData("Text"); if(o.getAttribute && ovalueandclipboarddata.length>nMaxLen) { if(ovalueandclipboarddata.substring(0,nMaxLen-o.value.length)!="") window.clipboardData.setData("Text",ovalueandclipboarddata.substring(0,nMaxLen-o.value.length)); else return false; } } return true; } } function onmykeypress(o) { if(!document.all) { var nMaxLen=o.getAttribute? parseInt(o.getAttribute("maxlength")):""; if(onmykeypress.caller.arguments[0].ctrlKey == true) { if(onmykeypress.caller.arguments[0].which==118) { if(o.selectionStart<o.selectionEnd) { var ovalueandclipboarddata = o.value + mygetclipdata(); if(o.getAttribute && (ovalueandclipboarddata.length-o.selectionEnd + o.selectionStart>nMaxLen)) { if(mygetclipdata().substring(0,o.selectionEnd - o.selectionStart+nMaxLen-o.value.length)!="") mysetclipdata(mygetclipdata().substring(0,o.selectionEnd - o.selectionStart+nMaxLen-o.value.length)); else return false; } } else { var ovalueandclipboarddata = o.value +mygetclipdata(); if(o.getAttribute && ovalueandclipboarddata.length>nMaxLen) { if(ovalueandclipboarddata.substring(0,nMaxLen-o.value.length)!="") mysetclipdata(ovalueandclipboarddata.substring(0,nMaxLen-o.value.length)); else return false; } } return true; } } if(onmykeypress.caller.arguments[0].which==0 || onmykeypress.caller.arguments[0].which==8) return true; if(o.value.length>=o.getAttribute("maxlength")) { if(o.selectionStart<o.selectionEnd) return true; if(o.value.length>o.getAttribute("maxlength")) o.value = o.value.substring(0,o.getAttribute("maxlength")); return false; } else return true; } else { if(document.selection.createRange().text.length>0) return true; if(o.value.length>=o.getAttribute("maxlength")) return false; else return true; } } // --></mce:script>
1.apt-get install fcitx5 fcitx5-chinese-addon fcitx5-pinyin fcitx5-pinyin-gui fcitx5-module-* 2.im-config,運行後指定fcitx5爲默認
DevExtreme擁有高性能的HTML5 / JavaScript小部件集合*使您可以利用現代Web開發堆棧*包括React*Angular*ASP.NET Core*jQuery*Knockout等*構建交互式的Web應用程序。從Ang
var obj = {} var texts = 'hello' let ipt = document.querySelector('#input') let txt = document.querySelector(
前端面試題 - vue的雙向綁定原理是什麼? vue2的雙向數據綁定是通過數據劫持結合發佈者訂閱者模式的方式來實現。 通過object.defineProperty來劫持各個屬性的setter,getter,在數據變化時發佈消息給訂閱者,
本文分享自華爲雲社區《ModelBox-AI應用開發:動物目標檢測【玩轉華爲雲】》,作者:陽光大貓。 一、準備環境 ModelBox端雲協同AI開發套件(Windows)環境準備【視頻教程】 二、應用開發 1. 創建工程 在Model
本文分享自華爲雲社區《華爲雲短信服務教你用C++實現Smgp協議》,作者:張儉。 引言&協議概述 中國聯合網絡通信有限公司短消息網關係統接口協議(SGIP)是中國網通爲實現短信業務而制定的一種通信協議,全稱叫做Short Message
[toc] 簡介 Redis 是一個單線程的數據服務,高性能,速度快,使用C語言實現,它的內部使用了一個 eventLoop 事件循環器來實現客戶端與服務端的通信。下面我們就來分析下Redis7.2的啓動程序源碼。 1、server.c m
轉載自牛肉胡辣湯 在大數據分析和處理的領域中,DolphinScheduler是一個開源的分佈式工作流調度系統,可以用於調度和管理複雜的工作流任務。本文將介紹如何使用Java中的URL類來調用DolphinScheduler的API,實現啓
· 前言 · 在國內,公網服務器與本地服務器的通信一直是個難題,本地服務器因爲IP是動態變化的,公網服務器沒辦法將請求發送給本地服務器。爲了解決這個問題,所以採用WebSocket協議替換Http協議。爲了實現請求等待,使用Gu
作者:胡安祥 滿幫集團,作爲“互聯網+物流”的平臺型企業,一端承接託運人運貨需求,另一端對接貨車司機,提升貨運物流效率。2021 年美股上市,成爲數字貨運平臺上市第一股。根據公司年報,2021 年,超過 350 萬貨車司機在平臺上完成超 1
在迅速變化的技術領域,本地環境的搭建和調試對於軟件開發的效率和效果至關重要。本文將詳細介紹如何爲Apache DolphinScheduler搭建一個高效的本地開發環境,包括2.x和3.x版本的設置方法。 無論您是初學者還是有經驗的開發者
作者:vivo 互聯網數據庫團隊- Qiu Xinbo 本文主要通過圖示介紹了用主鍵進行分片查詢的過程,介紹了主鍵分頁查詢存在SQL性能問題,如何去創建高效的索引去優化主鍵分頁查詢的SQL性能問題 對於數據分佈不均
上篇從服務粒度角度進行了探討,本文繼續從服務內的分層角度探討。 本文的觀點源自我在學習與實踐過程中的深思熟慮,尚處於不斷探索和驗證的階段。希望能“拋磚引玉”,激發更多的討論與交流。讓我們共同進步,在探討與實證中尋求真知。 一、背景 應用
1.安全之Kerberos安全認證 1 Kerberos概述 1.1 什麼是Kerberos Kerberos是一種計算機網絡授權協議,用來在非安全網絡中,對個人通信以安全的手段進行身份認證。這個詞又指麻省理工學院爲這個協議開發的一套計算
本文介紹了 InnoDB 支持哪幾類表鎖,以及它們分別都用在什麼場景下,還介紹了其中兩類表鎖爲什麼要存在。 作者:操盛春,愛可生技術專家,公衆號『一樹一溪』作者,專注於研究 MySQL 和 OceanBase 源碼。 愛可生開源社區出品,