繁体   English   中英

jQuery委派的keyup不起作用

[英]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");
        };
    });
});

的jsfiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM