问题标签 [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 回答
257 浏览

javascript - 从 HTML 区域获取关联的 img

有两个img元素在一个区域使用同一张地图。现在,我们将例如单击事件处理程序绑定到区域元素。是否可以从事件处理程序中确定单击了哪个图像实例?

0 投票
0 回答
188 浏览

javascript - JavaScript 事件中的局部变量问题

我正在开发一个页面,该页面具有可调整大小和可拖动的 div,并且我已将mousedown,mousemovemouseup事件处理程序附加到该 div。

问题出在mousemove事件处理程序上。我必须获取 div 的当前宽度、高度、顶部和左侧。为此,我使用函数来返回特定值,并且必须在主函数内的不同条件下使用这些值。

如果我尝试用这些值分配局部变量并在前面的代码中使用这些变量,那么脚本会变慢。意味着调整大小和拖动存在延迟。

但是,如果我每次都调用函数而不是在条件中使用这些变量,那么就没有延迟。

知道什么可能是这个问题的原因吗?

代码示例

0 投票
1 回答
4165 浏览

javascript - Javascript open.window 在被调用函数中返回 null

我开发了一个函数,调用时应该打开一个窗口,但它会返回null。如果我在原始 JavaScript 函数中打开窗口,它就可以工作。我想它是将控制权传递给另一个函数的原始函数,但由于某种原因这不起作用。

这是我的原始函数,这基本上调用了一个新的 JavaScript 文件并加载了一个 HTML 文件,当“就绪”时,它需要显示 window.open 以及现在为字符串形式的 HTML 文件。

这是我从原始函数调用的函数:

0 投票
2 回答
479 浏览

javascript - Lazyweb:IE7 如何在带有文本的 li 元素上执行 onMouseOver Javascript 有什么好笑的吗?

我是 Ubuntu 用户,所以我不了解 Internet Explorer。我们有一个基于 Javascript 的下拉菜单,使用 li's 和 ul's 等等。它在 Firefox 和 IE6 中运行良好。但是在 IE7 中没有。看起来 IE7 不会调用该onMouseOver函数,除非您越过中间的文本,而不是文本和 li 元素边缘之间的空白区域(这是 IE6 所做的)。对此有任何提示吗?

2009 年 5 月 21 日更新 - 我不确定这里发生了什么,但我已经以另一种方式解决了我的问题。

0 投票
1 回答
826 浏览

javascript - JavaScript 和 JSP

首先,我已经完成了我的研究,并且已经知道 JavaScript = 客户端 JSP = 服务器端。我不想浪费你的时间。

我的情况是我想从事件(而不是 HTML 表单)中执行 JSP 代码。

我有一个 HTML 链接 ( <a href="...">XXX</a>),它不在<form>标签内;它只是一个普通的 HTML 链接。通过 Javascript,我将能够获取 href 值并将其存储在隐藏的输入字段中。紧接着,我想request.getAttribute("...")在 JSP 页面之间执行和传递参数。

我现在知道如何做后面的部分(即让request.getAttribute代码在 Javascript 代码执行后立即继续进行。

任何人都可以建议吗?

0 投票
2 回答
706 浏览

javascript - 在 DOM 中记录或绘制自定义事件模型的正确方法

想象一下,您的 Web 应用程序中有一堆组件和子组件。您想要跟踪您添加的所有自定义事件的行为方式。是否有既定的方法来绘制或记录这些行为?

以下是文档应显示的一些内容:

  1. 各种组件的相关 DOM 元素的实际嵌套。
  2. 事件的名称以及它们被触发的位置。
  3. 附加到自定义事件的任何有效负载(例如,memo原型自定义事件中的内容。)
  4. 观察事件的地方。
  5. 指示哪些事件被触发以响应其他事件。
  6. 允许事件在哪里冒泡,在哪里停止。
0 投票
2 回答
981 浏览

javascript - Javascript 框架的自定义事件日志记录

想象一下,我有一个 Web 应用程序,其中包含使用您最喜欢的 Javascript 库编写的漂亮组件。我大量使用自定义事件来减少这些组件之间的依赖关系,因此您可以轻松地将它们放置在多个上下文中,在页面上重复它们,和/或按照我认为合适的方式嵌套它们。

这是一张可爱的图片,但调试可能会很痛苦,因为我还没有找到一种方法来记录我的自定义事件。理想情况下,我希望能够在我选择的框架中打开日志记录(我目前使用 Prototype),然后在 DOM 中的任何一个或多个点获取触发和观察到的事件的运行日志。

我一直在与其他 F2E 讨论这个问题,并尝试了一些方法:

  • Visual Event是一个小书签,可以很好地可视化事件绑定的位置,但不提供运行时日志。
  • Antenna就是这样一个日志,但是看起来有点bug,需要修改原型库本身,感觉就像是hack。

如何获得我想要的自定义日志记录?

0 投票
2 回答
4759 浏览

javascript - 如何单击或双击网页上的单词以触发事件处理程序?

对于像这样的页面

http://www.answers.com

如果用户双击页面中的任何单词,将出现一个弹出框并显示该单词的定义。

我可以想出一种方法来使用 DOM 脚本来分解页面中的所有单词,然后让它们中的每一个都放在一个单独的“span”元素下......但是如果所有文本都在一个“p”元素,然后“p”元素节点被触发来处理双击事件,但是没有简单的方法来判断点击了哪个单词?

0 投票
13 回答
48377 浏览

javascript - dblclick 事件触发时防止触发 click 事件

我正在处理 DOM 元素上的 click 和 dblclick 事件。每个执行不同的命令,但我发现双击元素时,除了触发双击事件外,还触发了两次单击事件。防止这种行为的最佳方法是什么?

0 投票
4 回答
29494 浏览

javascript - 在 onClick 事件中更改 Javascript 焦点?

注意:一个可能的解决方案只需要在 Firefox 3.0 中工作,我的应用程序不允许从 IE 访问!=)

我有一个链接,点击后会向用户显示一个灯箱:

我的问题是,当显示灯箱时,焦点仍然在链接上。因此,如果用户按下向上或向下键,他们最终会滚动主文档,而不是显示的灯箱!

我尝试使用这样的代码将焦点设置到灯箱元素

如果我在萤火虫控制台中键入它,这很好用,但如果我将它包含在 onclick 片段的末尾,它将不起作用。似乎我无法将焦点从 onclick 事件中执行的代码中的链接移开?


-- 更新 1 我以前尝试过这样的事情

我修改了函数以添加一些调试输出,如下

输出如下

所以在我做任何事情之前的焦点在链接上,在我尝试改变焦点之后它仍然留在链接上?

不确定是否重要,但我使用ajax加载灯箱,如下

我试图在ajax完成后设置焦点,但也没有运气。

我错过了什么?


我一直在尝试通过尝试设置焦点来完成下面建议的解决方案,看看我是否通过检查 document.activeElement 成功,如果没有,请等待 100 毫秒,然后重试。如果我使用以下功能,它将起作用

但是,如果我删除 firebug 调试语句 console.log,该功能将停止工作!!我不知道为什么会这样??为什么将变量输出到萤火虫控制台会影响天气焦点是否移动到元素?console.log 语句会影响焦点吗?也许通过将焦点带到控制台调试窗口?