[英]jquery delegated keyup not working
我正在创建一个附加在文档上的幻灯片。 我隐藏了身体,并将幻灯片放到了body元素之外。 我不会关闭“退出”按钮上的幻灯片。
该页面的结构如下:
<html style="height: 100%;">
<body style="display: none;"></body>
<div class="slideshow"></div>
</html>
我已经尝试过类似的事情:
$(document).on('keyup', '.slideshow', function( e ){
alert("Here");
if (e.keyCode == 27) {
alert("Escape");
};
});
如果我将keyup
更改为click
则它可以Here
显示警报,但它不会委派keyup。 忽略esc警报,如果我在警报也未显示之前添加警报,那么问题就不在转义键代码中。
据我所知,您不能这样做。 这是因为document
无法确定是否从slideshow
触发了keyup
事件,除非幻灯片包含任何输入字段并在其中键入内容。
您可以将div替换为“ input”标签,该标签为您提供一个输入框,因此当您键入内容时,便会触发警报。
<body style="display: block;">
<input class="slideshow"/>
</body>
$(document).ready(function () {
$('.slideshow').keyup(function (e) {
alert("Here");
if (e.keyCode == 27) {
alert("Escape");
};
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.