我试图阻止用户在页面上的任何文本框中输入两个特定字符。我正在使用的代码不适用于动态附加的文本框。
window.onload = function () {
$("input").keypress(function (e) {
if (e.which === 44 || e.which === 124) {//preventing , and |
e.preventDefault();
}
});
}
由于我没有使用服务器控件,所以我无法使用 ajax 过滤器等。我想对此有一个简单的解决方案。不会引起代码中的任何冲突。谢谢。
最佳答案
尝试使用event-delegation
在这种情况下,因为您需要为运行时附加的元素绑定(bind)事件。
$(document).on('keypress',"input",function (e) {
if (e.which === 44 || e.which === 124) {
e.preventDefault();
}
});
旁注:我只是使用 document
来委派事件,但您可能应该使用与输入元素最接近的静态父元素,以获得性能提升向上。
关于javascript - 限制用户在动态生成的文本框中输入特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23925831/