jquery字母数字插件无法使用onpaste事件

时间:2010-07-09 08:36:19

标签: jquery

我尝试使用jquery字母数字插件http://itgroup.com.ph/alphanumeric/并且它工作正常。问题是当我粘贴 此文本!@#$%^&*()_67890-qwertyuiopasdfghjkl'zxcvbnm,.文本框接受了它。

这是我的代码:

$("#<%=txtAddCompanyName.ClientID%>").alphanumeric({ allow: "'-., " });

我尝试将我的代码更改为如下所示,但它无效。

document.getElementById("<%=txtAddCompanyName.ClientID%>").onpaste = function() {
  $("#<%=txtAddCompanyName.ClientID%>").alphanumeric({ allow: "'-., " });
 }; 

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

<强>更新

在alphanumeric.js

上查找
$(this).keypress
    (
        function (e)
            {

                if (!e.charCode) k = String.fromCharCode(e.which);
                    else k = String.fromCharCode(e.charCode);

                if (ch.indexOf(k) != -1) e.preventDefault();
                if (e.ctrlKey&&k=='v') e.preventDefault();

            }

    );

然后将keypress更改为keydown至少会阻止粘贴值...

除此之外,我没有其他建议......


原始回答

尝试任何一个......

document.getElementById("<%=txtAddCompanyName.ClientID%>").onpaste = function() {
  $("#<%=txtAddCompanyName.ClientID%>").trigger('keypress');
 }; 

document.getElementById("<%=txtAddCompanyName.ClientID%>").onpaste = function() {
  $("#<%=txtAddCompanyName.ClientID%>").trigger('keydown');
 };

document.getElementById("<%=txtAddCompanyName.ClientID%>").onpaste = function() {
  $("#<%=txtAddCompanyName.ClientID%>").trigger('keyup');
 };