问题标签 [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 投票
2 回答
2235 浏览

javascript - 如何从 SharePoint Web 部件访问 onresize 事件?

我有一些将在 SharePoint Web 部件中执行的 JavaScript。我想在调整窗口大小时执行一个函数。通常我会使用

但在 SharePoint 中,事情开始变得棘手。我有一个onload可以这样使用的功能:

这会在onLoad事件中执行。onResize事件有类似的东西吗?

0 投票
4 回答
5509 浏览

javascript - 延迟加载 addthis 脚本?(或延迟加载依赖于已触发事件的外部 js 内容)

我想让我的用户可以使用addthis小部件,但我想延迟加载它,以便我的页面尽快加载。但是,在通过脚本标记然后通过我的延迟加载方法尝试之后,它似乎只能通过脚本标记工作。在混淆的代码中,我看到一些东西看起来像是依赖于 DOMContentLoaded 事件(至少对于 Firefox 而言)。

由于 DOMContentLoaded 事件已触发,因此小部件无法正确呈现。该怎么办?

我可以只使用脚本标记(较慢)......或者我可以(以跨浏览器方式)触发 DOMContentLoaded (或等效)事件吗?我有一种感觉,这可能是不可能的,因为我相信(如 jQuery)对内容就绪事件有多个测试,因此必须发生多个模拟事件。

尽管如此,这是一个有趣的问题,因为我已经看到几个小部件现在假设您通过静态脚本标签包含他们的东西。如果他们编写的代码对关注速度的开发人员更有用,那就太好了,但在那之前,是否有解决方法?和/或我的任何假设是否错误?

编辑: 因为这个问题的第一个答案似乎错过了我的问题的重点,所以我想澄清一下情况。

这是关于一个特定的问题。我不是在寻找另一个延迟加载脚本或检查是否加载了某些依赖项脚本。具体来说,这个问题涉及

  1. 您无法控制的外部小部件,可能会或可能不会被混淆
  2. 延迟外部小部件的加载,直到需要它们为止,或者至少直到基本上在加载其他所有内容(包括其他延迟元素)之后
  3. b/c 小部件的编写方式,排除了现有的典型延迟加载范例

虽然它很深奥,但我已经看到它发生在几个小部件上 - 小部件开发人员假设您只是愿意在页面底部添加另一个脚本标签。我希望节省这 500-1000 毫秒**,尽管雅虎、谷歌和亚马逊的大量研究表明它对您的用户体验很重要。

**我对锤头和个人经验的测试表明,在这种情况下,这将是我的积蓄。

0 投票
10 回答
205733 浏览

javascript - JavaScript 全局事件机制

我想捕捉每个抛出的未定义函数错误。JavaScript 中是否有全局错误处理工具?用例是从 flash 中捕获未定义的函数调用。

0 投票
3 回答
377 浏览

javascript - 有人使用 yui logger 来跟踪 yui 事件吗?有没有办法过滤它?

我遇到的问题是它也跟踪日志阅读器中的所有事件。这使得使用起来非常困难。当我向上向下滚动、单击或在阅读器中移动以检查事件时,它会在各处滚动添加新事件。有没有办法过滤它以仅包含来自某些来源的某些事件?我可能做错了什么吗?我在 Firefox 中使用 2.7 版本。

0 投票
5 回答
192494 浏览

javascript - 使用 JavaScript 在 Safari 中触发键盘事件

我正在尝试使用 JavaScript 在 Safari 中模拟键盘事件。

我试过这个:

...还有这个:

然而,在尝试了这两种方法之后,我遇到了同样的问题:代码执行后,事件对象的keyCode/which属性设置为0,而不是115

有谁知道如何在 Safari 中可靠地创建和发送键盘事件?(如果可能的话,我宁愿用纯 JavaScript 来实现它。)

0 投票
1 回答
315 浏览

javascript - Drupal 中奇怪的 IE7 js 问题

例如,在 IE 7 中,当我单击任何 Javascript 链接时

页面将刷新。这发生在我继承的一个 Drupal 项目中。当我在 Drupal 之外运行相同的脚本时,在 IE7 中不会发生此问题。

即使在 Drupal 管理onclick事件中也会导致页面重新加载。

您可以在此处查看行为:http ://www.goswerve.com/drupalsite/NDT_classroom_locations.php?locZip=98021 (单击“查看教室 11 - 21”链接。)

有趣的是,如果您在上面的网址末尾添加一个数字,那么相同的链接将按预期工作。

我的老板和我都无法解决这个问题。我什至不确定这是 Drupal 问题。任何有关如何解决此问题的指导将不胜感激。我的 js 技能一般,所以请记住这一点。如果您需要更多信息,请告诉我。

0 投票
1 回答
398 浏览

javascript - IE7手柄​​组合按键

如何在 IE7 中处理作为按键组合的 Javascript 按键?

例如,我想要命令Ctrl+I来触发我的通知脚本。我该怎么办?

0 投票
8 回答
57965 浏览

java - GWT 自定义事件处理程序

有人可以给我一个创建自定义事件和处理程序集的示例。假设您有一个 Person 对象,您希望您的小部件知道它是否已更新。

您创建了一个 HandlerManager,现在您必须创建一个事件和一个处理程序。您将如何定义这些类以便可以订阅和触发事件?

大多数事件都是基于 DOM 的,而我想创建一些自定义事件和处理程序,我可以在任何基于浏览器的事件之外触发它们。

0 投票
4 回答
5105 浏览

javascript - 脚本需要等待元素加载

背景信息:
我有一个函数,在调用时会在表单内创建选择列表并填充它。之后,脚本将遍历列表中的选项并查找某个值。如果该值存在,则脚本“选择”该选项。

问题:
因为列表是动态创建的并且有时非常大,所以加载需要一段时间。发生这种情况时,脚本的第二部分(选择选项的部分)不会做任何事情,因为选择列表没有时间加载。

解决方案的想法:最好在选择列表
的事件中调用函数的第二部分(作为单独的函数) 。onload但是选择列表不应该具有onload属性。另一种想法是简单地添加延迟,但有一天延迟可能不够长。

0 投票
2 回答
4445 浏览

javascript - 工具提示(title="...")不会在 Firefox 中显示

我有一个带有title属性的元素(即工具提示),包装在某个容器中:

我在容器上附加了一个"mousemove"事件侦听器并停止事件传播:

这种停止在容器上传播“mousemoves”的组合现在可以防止工具提示出现在 Firefox 2 及更高版本中的内部文本框。我尝试过 FF 2[.0.0.20]、3[.0.11] 和最新的 3.5(Windows Server 2003、XP)。

作为一个快速练习,Firefox用户可以通过在地址栏中运行以下等效逻辑来查看此错误:

现在将鼠标悬停在该问题的任何赞成、反对或星号(收藏夹)图标上。工具提示不再出现。同样,仅在 Firefox 中

有没有人对 Firefox 中的这种行为/错误有解决方法?有其他人见证过吗?

更新:似乎 Firefox 使用“鼠标停止移动”来触发浏览器 chrome 中的工具提示(例如后退/前进按钮)。请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=82953。但是我不知道这是否会影响 DOM。

更新: Firefox 10 似乎是最后一个表现出这种行为的版本。无论事件传播如何,Firefox 11.0 及更高版本都会显示工具提示。

更新:Firefox 33(.1) 不再表现出这种行为。