如何在JSF页面中禁用ctrl + v(粘贴)功能?我正在使用primefaces组件。

时间:2013-08-31 12:27:41

标签: jsf primefaces

我有一个inputText组件,我通过keyup事件验证只接受整数值。但我无法禁用ctrl + v选项,因此用户可以将字符串值粘贴到输入文本框中。 html有onpaste选项,但JSF没有!提前谢谢。

1 个答案:

答案 0 :(得分:2)

使用JSF 2.2,您可以“通过”通过<f:passThroughAttribute />呈现的属性,并且您可以添加onpaste="return false;"之类的内容,但我认为您还没有使用JSF 2.2。

您仍然可以通过一些自定义JavaScript轻松禁用复制粘贴。使用标准的javascript,这很简单(取自here):

window.onload = function() {
   var myInput = document.getElementById('myInput');
   myInput.onpaste = function(e) {
       e.preventDefault();
   }
}

使用jQuery,您可以这样做(取自here):

$(document).ready(function(){
    $('#myInput').bind("cut copy paste",function(e) {
        e.preventDefault();
    });
});

jQuery选项也很不错,因为您可以使用上述代码和$('input').each

的组合轻松地对您网站上的所有输入执行此操作