我正在使用jQuery的.alphanumeric插件,当用户直接在文本框中键入内容时,它确实可以满足我的期望。但是,如果用户要复制一个值并将其粘贴到文本框中,则所有选择都将关闭。
$("#<%= txtNumber.ClientID %>").alphanumeric({allow:"-"});
我当然可以这样做:
$(document).ready(function() {
$("#<%= txtNumber.ClientID %>").blur(function() {
$("#<%= txtNumber.ClientID %>").val(
RemoveInvalidCharacters(
$("#<%= txtNumber.ClientID %>").val()
)
);
});
});
//FUNCTION REMOVES ANY ; IN TEXT TO PREVENT SQL INJECTION
function RemoveInvalidCharacters(text) {
return text.replace(';', '');
}
但是...我不想再用.blur()函数来弄乱我的代码。还有其他解决方法吗?
最佳答案
处理粘贴事件非常简单。我在masked input plugin中使用此技术,效果很好。随意浏览源以查看其使用情况。
这是上面示例中修改的相关位。
var pasteEventName = $.browser.msie ? 'paste' : 'input';
$("#<%= txtNumber.ClientID %>").bind(pasteEventName, function() {
setTimeout(function() {
RemoveInvalidCharacters(
$("#<%= txtNumber.ClientID %>").val()
);
}, 0);
});
关于asp.net - jQuery AlphaNumericPlugin-复制粘贴问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/636248/