问题标签 [dom-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
2188632 浏览

javascript - window.onload 与 document.onload

哪个得到更广泛的支持:window.onloaddocument.onload

0 投票
13 回答
355387 浏览

javascript - 是否可以在不破坏后代事件侦听器的情况下附加到 innerHTML?

在下面的示例代码中,我将一个onclick事件处理程序附加到包含文本“foo”的 span。处理程序是一个匿名函数,它会弹出一个alert().

但是,如果我分配给父节点的innerHTML,则此onclick事件处理程序将被破坏 - 单击“foo”无法弹出警报框。

这是可以修复的吗?

0 投票
24 回答
665902 浏览

javascript - 是否可以以编程方式模拟按键事件?

是否可以在 JavaScript 中以编程方式模拟按键事件?

0 投票
2 回答
199 浏览

javascript - 处理仅适用于某些内容的 Javascript 事件

在尝试制作我的第一个大型 Javascript Web 应用程序时,我无法从概念上理解我应该做什么。

根据用户选择的选项卡,我在容器内显示不同的内容。内容不仅仅是文本,还使用不同的 Javascript 函数和事件。我正在使用雅虎!UI 库的“TabView”实现,但处理此问题的方式可能适用于其他 Tab 方法。

我想做的基本上是以下几点:

为每个选项卡(例如MYAPP.modules.tabCalendarMYAPP.modules.tabJournal)创建单独的模块。当用户单击不同的选项卡(或使用浏览器按钮导航到以前的选项卡状态)时,我可以调用MYAPP.modules[oldModule].disable()and MYAPP.modules[newModules].enable()。这些函数将订阅或取消订阅它们的自定义事件(例如,附加到容器的一般点击处理程序)。

处理事件的另一种方法可能是使用单个全局单击处理程序。如果单击在容器内,则确定当前选择了哪个选项卡并将单击事件发送到MYAPP.modules[currentTab].onClick().

或者,全局点击处理程序可以触发自页面加载以来模块已订阅的自定义事件,并且每个模块的onClick事件将运行并确定它们是否应该做任何事情。

似乎有很多选择,但我一直在寻找资源来谈论做这样的事情的最佳方法。我在正确的道路上吗?我该如何处理?

0 投票
2 回答
1386 浏览

javascript - 是否有 Flash onload 事件?

当 Flash 插件加载其内容时,有什么方法可以检测到错误?

基本上,我想做的是提供一些替代内容,以防在 Flash 插件尝试加载它的 .swf 文件时出现问题。

.swf 文件由 CMS 类型系统管理,因此我想创建某种回退默认内容,以防出现问题,例如 .swf 文件已被删除。

我知道如何检测闪存版本等,但我在这种情况下找不到任何资源。

0 投票
1 回答
1669 浏览

javascript - 如何在 Javascript 中匹配 event.keyCode 时避免幻数

在 Javascript 中匹配按键时可以避免幻数吗?

一个例子是使用13 来匹配回车键

我可以指定自己的常量,但我不知道这些值在不同平台/浏览器/语言环境中是否足够稳定。

0 投票
4 回答
7864 浏览

javascript - 如何将 Javascript 事件处理程序注册到尚未添加到页面的元素

我正在尝试构建一个greasemonkey 脚本,该脚本将根据用户与...其他动态创建的数据表的交互动态创建数据表。我的问题是,每次创建表时我都必须进行两次传递:一次创建表,另一次获取表中我想要添加事件处理程序的所有对象(按 id)并添加他们的各种事件处理程序。

onClick例如,如果我在创建表并将其插入 HTML 之前尝试将事件添加到表 td,则会收到“组件不可用”异常。

这非常麻烦,因为我要么必须单独维护一个 id 列表以及在我第二次添加处理程序时应该对这些元素做什么,要么开发一个我知道的命名约定,基于id,我应该对元素做什么。

必须有更好的方法来做到这一点。我只是还没有弄清楚。有人有想法么?

0 投票
4 回答
3964 浏览

javascript - 为 Ajax 应用程序启用返回/fwd 键事件

我有一个在 AJAX 上工作的应用程序。但是我想在其中具有导航功能。为了欺骗 url,我正在更改 location.hash,以生成 URL。但是如果我使用 back/fwd,只有 url 改变,但页面不会重新加载。如何覆盖hstory.back以重新加载页面。

0 投票
34 回答
458465 浏览

javascript - HTML 是否有 onSelect 事件或等效事件