首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将事件绑定到弹出窗口?

如何将事件绑定到弹出窗口?
EN

Stack Overflow用户
提问于 2013-03-12 01:52:38
回答 1查看 2K关注 0票数 0

我似乎无法将事件绑定到弹出窗口。正确的方法是什么?我知道你必须通过窗口--你想把这个事件绑定到--但是我似乎在任何地方都找不到这方面的任何信息--在过去的一个小时里,我一直在搜索信息,但我甚至没有一个链接来显示我的努力。以下是我的几次尝试:

代码语言:javascript
运行
复制
// the popup window is referenced by "display.window"
// #map is a <canvas> element occupying 100% of the new window

// I'll just try passing in the context first...
$(display.window, "#map").keydown(function(e) {
    // do stuff
});

// maybe the other way around?
$("#map", display.window).keydown(function(e) {
    // do stuff
});

// what if I just try to add the event right to the window?
$(display.window).keydown(function(e) {
    // do stuff
});

// nope, maybe bind will do the trick
$(display.window).bind(function(e) {
    // do stuff
});

// maybe the new window's DOM isn't loaded yet?
$(display.window).ready(function() {
    $(this).keypress(function(e) {
        // do stuff
    });
});

这些都不管用。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-12 01:58:58

我认为在创建弹出窗口所用的代码中需要这样做,很高兴看到这部分代码。

此外,当前推荐的订阅事件的方法是使用.on() jQuery方法。

http://api.jquery.com/on/

代码语言:javascript
运行
复制
$(display.window).on('keydown', function(e) {
    //Good stuff here
});

完全未经测试,希望这能帮助你走上正确的道路。

我想到的另一件事是,你真的需要弹出窗口吗?从弹出式阻断剂那里自找麻烦等等.您最好实现一个好的模式窗口解决方案,然后您的“窗口”将是同一个DOM的一部分,这将使创建事件侦听器变得非常简单。

jQuery用户界面有一个很好的“对话框”小部件

http://jqueryui.com/dialog/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15351937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档