我有一个音箱,它在粘贴时接受任何文本值。我不想在这个intbox中禁用control+c值,所以如何使它粘贴到regect char值中?
一些代码:
<intbox mold="rounded" id="intbxNumeroDaConta" width="90px" />一些图片:


发布于 2018-01-08 02:21:43
如果粘贴非数字文本,则在模糊焦点时将看到验证错误框。这将提示用户修复他们的值。
下面的解决方案适用于chrome、firefox、IE 11或更高版本
<zk xmlns:h="client/attribute">
avoid pasting non-number characters
<intbox h:onPaste="preventPastingNonDigital(event)" />
<script><![CDATA[
function preventPastingNonDigital(e){
var pastedText = e.clipboardData ? e.clipboardData.getData('text') //chrome, firefox
: window.clipboardData.getData('text'); //ie11
if (!new RegExp('^[0-9]+$').test(pastedText)){
e.preventDefault();
}
}
]]></script>
</zk>参考文献:https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/getData
对于旧的IE,他们不支持onPaste,所以请参考JavaScript get clipboard data on paste event (Cross browser)
https://stackoverflow.com/questions/48114176
复制相似问题