0

我有一个输入框,并且我已将模糊和按键事件绑定到输入。但问题是当有按键事件时,模糊事件也会触发。发生按键事件时,有什么方法可以抑制模糊事件?

谢谢

4

3 回答 3

2

听起来您的 EventHandlerKeyPress() 函数中的某些内容正在引起模糊。

于 2009-02-01T03:22:08.723 回答
1

我只是为了测试而稍微简化了您的代码,并且无法就事件触发的顺序得出相同的结论。Firebug 的控制台显示以下代码执行产生 .keypress 总是在 .blur 之前发生

<script>

    $(document).ready(function() {

        $("#inpt").blur(function(e) {
            console.log(".blur");
        });

        $("#inpt").keypress(function(e) {
            console.log(".keypress");
        });
    });

</script>

您到底想用.onchange 和.keypress 绑定到同一个字段来完成什么?如果您也发布了事件处理程序代码,可能会有所帮助。

另外,你也有一个全局的 document.keypress 绑定,有什么特别的原因吗?

于 2009-02-01T19:26:18.120 回答
0

<script src="jquery-1.3.1.js" type="text/javascript"></script>

<script type="text/javascript">

    $(document).ready(function() {

        $("#inpt").blur(function(e) {
            EventHandlerBlur(e);
        });
       $("#inpt").keypress(function(e) {
              EventHandlerKeyPress(e);
          });

          $(document).keypress(function(e) {
              EventHandlerKeyPress(e);
          });


    });
</script>

这是具有相同行为的代码。实际上在输入输入/甚至按下输入框上的任何键时都会导致模糊事件在按键事件之前首先触发..

于 2009-02-01T01:51:28.047 回答