Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery onkeypress事件未触发_Jquery_Html - Fatal编程技术网

Jquery onkeypress事件未触发

Jquery onkeypress事件未触发,jquery,html,Jquery,Html,我已经为鼠标和键盘事件编写了一个代码。但是在Firefox等浏览器中,onkeypress事件没有触发。我也尝试过keydown事件,但这不起作用。li元素的HTML代码为: print "<li class=\"ui-menu-item \" id=\"toli$i\" value=\"'$name','$email'\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\" onkeypress=\"keyhan

我已经为鼠标和键盘事件编写了一个代码。但是在Firefox等浏览器中,
onkeypress
事件没有触发。我也尝试过
keydown
事件,但这不起作用。
li
元素的HTML代码为:

print "<li class=\"ui-menu-item \" id=\"toli$i\"  value=\"'$name','$email'\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\"  onkeypress=\"keyhandle('$name','$email');\" onclick=\"fillto('toli$i','$name','$email');\">$ename $ediv $email></a></li>";
    }
    elsif($field eq "cc"){

 print "<li class=\"ui-menu-item \" id=\"toli\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\" onkeypress=\"keyhandle('$name','$email');\" onclick=\"fillcc('$name','$email');\">$ename $ediv $email></a></li>";
}
elsif($field eq "bcc"){

 print "<li class=\"ui-menu-item \" id=\"toli\" role=\"menuitem\"><a class=\"ui-corner-all\" href=\"#\" onkeypress=\"keyhandle('$name','$email');\" onclick=\"fillbcc('$name','$email');\">$ename $ediv $email></a></li>";
}
}
print "</ul>";
我已经试过密码了

 $(document).ready(){
        $("#displayto").keypress(function(){
            alert('a');
    });
} 

但它也不起作用。我已为每个
  • 项指定了一个顺序id。我想通过按键功能传递此顺序id。此id值用于在“向下”箭头按下时获取下一个id值,在向上箭头按下时获取上一个id值。如果按enter键,将调用fillto()函数。此代码用于自动完成功能。还有其他方法吗?请帮助解决此问题。

    您能使用jQuery吗??如果可以,试试这样的方法,我想可能会更好:

    $(document).ready(){
        $("#displayto").keypress(function(){
            alert('a');
        });
    }//end of document ready
    

    你能用jQuery吗??如果可以,试试这样的方法,我想可能会更好:

    $(document).ready(){
        $("#displayto").keypress(function(){
            alert('a');
        });
    }//end of document ready
    

    可能事件在输入之前加载,这就是为什么不工作的原因,请尝试使用live

    $(document).ready(){
    
            $('input').live('keypress', function (e) {
               if ( e.keyCode == 9 ){
                   alert( 'Tab pressed' );
                }else
                  alert("another key pressed");
            });
    }
    

    如果您没有使用输入标记,请尝试使用您正在使用的标记,如div的id可能是在输入之前加载事件,这就是为什么不起作用,请尝试使用live

    $(document).ready(){
    
            $('input').live('keypress', function (e) {
               if ( e.keyCode == 9 ){
                   alert( 'Tab pressed' );
                }else
                  alert("another key pressed");
            });
    }
    

    如果您不使用输入标签,请尝试使用您正在使用的标签,例如div的id,这可能有点太晚了,但现在我正在处理相同的问题,并可能找到了解决方案

    地雷情况如下:

    <span onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
    
    。。。
    
    我在某处发现,为了使元素能够捕获关键事件,它需要是可聚焦的。默认情况下,所有输入元素都应该是可聚焦的,也可能是其他一些元素,在不同浏览器中有所不同

    但是,您可以使元素可聚焦,在我的例子中,我使用了tabindex属性来实现这一点。像这样:

    <span tabindex="" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
    
    。。。
    
    这在Firefox中有效,但在Chrome中无效。只有当我在tabindex属性中输入一些值时,事件才被实际触发,并执行onkeypress=“”中的javascript

    所以现在我的结局是这样的:

    <span tabindex="0" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
    
    。。。
    
    编辑:
    我忘了补充一点,您实际上需要聚焦元素。我在onclick=”“中调用focus()。

    这可能有点太晚了,但现在我正在处理同样的问题,并可能找到了解决方案

    地雷情况如下:

    <span onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
    
    。。。
    
    我在某处发现,为了使元素能够捕获关键事件,它需要是可聚焦的。默认情况下,所有输入元素都应该是可聚焦的,也可能是其他一些元素,在不同浏览器中有所不同

    但是,您可以使元素可聚焦,在我的例子中,我使用了tabindex属性来实现这一点。像这样:

    <span tabindex="" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
    
    。。。
    
    这在Firefox中有效,但在Chrome中无效。只有当我在tabindex属性中输入一些值时,事件才被实际触发,并执行onkeypress=“”中的javascript

    所以现在我的结局是这样的:

    <span tabindex="0" onclick="javascript: /* some javascript to select element */ " onkeypress="javascript: /* call function to process key event */">...</span>
    
    。。。
    
    编辑:
    我忘了补充一点,您实际上需要聚焦元素。我在onclick=“”中调用focus()。

    我认为
    onkeypress
    仅用于文本类型输入,比如
    type=“text”
    @bdares-它不是。在元素上按下并释放键时,会发生onkeypress事件。此属性可用于大多数元素。-@Smitha Abhilash—您正在从Perl生成HTML和JavaScript,而HTML/JavaScript不起作用。请向我们展示浏览器获取的代码,而不是生成它的代码的片段。当您向我们展示的代码中没有使用该库时,为什么要标记此库?您使用什么过程来测试代码?你是如何聚焦主播的?(你还记得这样做吗?)我认为按键上的
    onkeypress
    只用于文本类型的输入,比如
    type=“text”
    @bdares-它不是。在元素上按下并释放键时,会发生onkeypress事件。此属性可用于大多数元素。-@Smitha Abhilash—您正在从Perl生成HTML和JavaScript,而HTML/JavaScript不起作用。请向我们展示浏览器获取的代码,而不是生成它的代码的片段。当您向我们展示的代码中没有使用该库时,为什么要标记此库?您使用什么过程来测试代码?你是如何聚焦主播的?(你记得这么做吗?)谢谢你。做得好!这是我的说法:谢谢。做得好!以下是我的版本: