按键在第一次按键时不会触发

时间:2016-04-27 07:01:23

标签: javascript jquery

我有这个方法:

$(".txtB").on("keypress", function(event) {
    console.log($(this).val());
    if (...)
        event.preventDefault();
});

但只有在第二个按键不按第一个按键后才能工作。之后,每次按键都会触发。 任何人都知道可能是什么?

感谢。

稍后编辑: 这可能与我使用该功能的方式有关?

HTML中的

onkeyup = "caseValuePercentageTwoDecimalRestriction()"

JS中的

function caseValuePercentageTwoDecimalRestriction() {
    $(".caseValuePrecentageRestriction").on("keypress", function (event) {
        ...

...

9 个答案:

答案 0 :(得分:1)

对于输入字段,还有一个属性input propertychange可用于通过键盘更改文本以及从鼠标复制文本。尝试使用它

$(".txtB").on("input propertychange", function(event) {
    console.log($(this).val());
    if (...)
        event.preventDefault();
});

答案 1 :(得分:1)

View listFirstItem = myListAdapter.getView(0,null, null);
TextView  tv = (TextView)listFirstItem.findViewById(R.id.itemTitle);
Log.d(TAG, (tv.getText().toString());
tv.setText("My Text");
listFirstItem.setBackground(getActivity().getDrawable(R.drawable.ripple));

要回答您的问题,Keypress事件会在输入更改之前发生。但Keyup发生在变化之后。这是唯一的区别。

答案 2 :(得分:1)

错误是在RewriteEngine On RewriteCond %{THE_REQUEST} /tutorials/[^/?]+/?(\?\S*)?\sHTTP RewriteRule ^tutorials/([^/]+)/?$ user.php?tutorial_title=$1%1 [NC,L] 事件后caseValuePercentageTwoDecimalRestriction事件上调用keyup

当您按下密钥时调用keypress时释放密钥时会调用

keyup

您应该在keypress事件上绑定keypress事件处理程序,如下所示:

document.ready

答案 3 :(得分:0)

使用keyup而不是按键 - 尝试:

$(".txtB").keyup(function (event) {
     console.log($(this).val());
});

答案 4 :(得分:0)

然后也许.keydown会对你有用吗?

答案 5 :(得分:0)

我们走了:

你的代码必须是这样的:

unknown option --server1

希望它有所帮助;)

答案 6 :(得分:0)

这对你有用,但这不是完美的解决方案,只是一个解决方法:

$(document).ready(function(){
  $(".txtB").on("keypress", function (event) {
    console.log($(this).val() + event.key);
  });  
});

这是jsbin

由于其他用户在更改文本框的值之前共享了Keypress事件触发器。如果您想要更新文本框的值,则应使用其他事件。

答案 7 :(得分:0)

尝试使用更改而不是按键或键盘,因为它将首先调用:

http://localhost:8983/solr/searching/select?q=*:*&fq=maths:25 AND science: 30

答案 8 :(得分:0)

在将新字符添加到输入之前会触发

keypress个事件。

因此,在添加第一个字符之前触发第一个keypress event,而输入仍为空。

如果您选中此JSFIDDLE,即使您在输入中看到值,也会看到一个提示框。

例如,如果您最初键入a,则会看到一个空警告框,然后键入其他字符,此时您会看到它正在警告a

您需要使用keyupkeydown。您也可以event.preventDefault()使用keyup& keydown