我正在尝试从keyup上的所有文本框中删除逗号.我想出了下面的脚本,但它没有用.谁能看到我做错了什么?
<script>
$("input[type='text']").keyup
(
function ()
{
alert('1');
$(this).val($(this).val().replace(/[,]/g, ""));
}
);
</script>
Run Code Online (Sandbox Code Playgroud)
注意:请原谅$ in Script.所以不会让我发布它,否则......
jes*_*vin 13
您可能希望将整个代码块包装在文档就绪函数中
$(function() {
$("input:text").keyup(function() {
$(this).val($(this).val().replace(/[,]/g, ""));
});
});
Run Code Online (Sandbox Code Playgroud)
您可以在jQuery文档站点上阅读所有相关内容.
正如其他人提到的那样,请确保使用$(document).ready() - http://api.jquery.com/ready/.另外,不要替换keyup上的逗号,你应该通过返回false来禁止它们在keypress上:
$(document.ready(function () {
$("input[type=text]").keypress(function (evt) {
if (String.fromCharCode(evt.which) == ",")
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
这提供了更专业的感觉,","被阻止而不会出现,然后在您释放密钥时消失.但是,与您的解决方案一样,这不会捕获复制并将逗号粘贴到您的输入中.为此,您可以挂钩onpaste或onchange事件.
如果你想坚持使用keyup和replace,你真的不需要乱用jQuery包装,你可以直接访问value属性:
$(document.ready(function () {
$("input[type=text]").keyup(function (evt) {
this.value = this.value.replace(/,/g, "");
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21800 次 |
| 最近记录: |