问题:
我正在运行一个功能,您可以使用keypress()功能按C或M键,每次按其中一个键时,都会在Firefox中自动标记该字母。有没有办法使用JavaScript禁用它,或者这是Firefox默认执行的操作?
我曾尝试使用Google寻找答案,但似乎在使用JS中的keypress()函数之前没有人遇到此问题。
代码:
<script type="text/javascript">
$(document).ready(function()
{
var once = false;
$(window).keypress(function(e)
{
if(!once)
{
if (e.which == 99)
{
once = true;
$("input#left").val( 1 );
$("form").submit();
}
else if (e.which == 109)
{
once = true;
$("input#right").val( 1 );
$("form").submit();
}
}
});
});
</script>
提前感谢任何提示!
答案 0 :(得分:1)
只需调用preventDefault():
$(window).keypress(function(e)
{
e.preventDefault()
// other code
}
答案 1 :(得分:0)
有几种方法可以解决这个问题。如果您致电e.preventDefault()
,您应该受到保障,但这不是您唯一的选择。
HTML5在标记中引入了许多新标记和属性,其中一个是文本字段的autocomplete
属性。如果您将其添加到HTML(<input type='text' id='myInput' autocomplete='off'>
),也应该包含在内。您无法始终依赖您的用户支持HTML5,但这仍然是解决您问题的简单方法。
在您的代码中实现这两个小的更改可能会让您受到伤害。