问题标签 [javascript-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 投票
5 回答
5989 浏览

javascript - 如何更改在 Firefox 中输入的字符

我需要在文本输入中更改字符“。” 键入时到“,”。在 IE 中,我更改了 keypress 事件中的 keyCode 事件属性,如下所示

但似乎在 Firefox 中无法更改在关键事件中键入的字符。有什么建议么?

0 投票
4 回答
9051 浏览

javascript - Javascript:如何遍历元素并为某些元素调用 onblur 处理程序

我有一个案例,我在屏幕上有一堆文本框和单选按钮,所有这些都是用各种 DIV 动态构建的。所有文本框都有 onblur 例程来验证条目,但根据单选按钮的选择,文本框条目在最初有效时可能无效。我不能将 onblur 与单选按钮一起使用,因为它们可以从单选按钮进入无效的文本框之一并创建无限循环,因为我将焦点放在无效元素上。由于每个文本框都有自己的 onblur 调用特殊参数,我认为最好的方法是在提交表单时调用文本框的 onblur 事件,以确保所有条目在单选按钮配置下仍然有效已选择。如果其中一个 onblur 事件返回 false,我还需要它停止提交,以便他们可以更正错误的文本框。这是我写的...

我最初有 (!document.forms[0].elements[intElement].onblur()) 但是当我有那个时,来自 onblur 事件的警报消息没有弹出。现在警报消息正在弹出,但如果遇到错误,它仍会继续循环遍历元素。我已经用调试器两种方式逐步完成了这个,它似乎循环得很好,但它要么是1)在我需要它时没有停止并返回false,要么2)没有执行我的警报消息来告诉用户什么错误是。有人可以帮忙吗?这可能是我正在做的愚蠢的事情。

被调用的 onblur 方法看起来像这样......

编辑:我想我已经弄清楚为什么这不能按预期工作,但我仍然不知道如何完成我需要做的事情。下面的行...

或者

没有返回单个 onblur 函数 (f_VerifyRange) 返回的内容。相反,无论如何它总是返回真或假。在第一种情况下,它返回 true,然后在第一个文本框之后退出并中止提交,即使第一个文本框没有错误。在第二种情况下,它返回 false 并遍历所有框。即使可能有错误(它显示),它也不认为有任何错误,所以它继续提交。我想我真正需要的是如何从我的 onblur 函数 f_VerifyRange 获取返回值。

0 投票
2 回答
116 浏览

javascript - 将图标包含在可点击文本的目标区域中的最佳方法是什么?

我目前正在使用以下 javascript 创建扩展菜单:

http://demo.raibledesigns.com/struts-menu/scripts/menuExpandable.js.src

目前,只有超链接文本是可点击的。让文本旁边的图标响应点击的最佳方式是什么?

0 投票
4 回答
164287 浏览

javascript - Javascript onHover 事件

有没有一种规范的方法可以使用现有的 onmouseover、onmouseout 和某种计时器来设置 JS onHover 事件?或者当且仅当用户在元素上悬停一定时间时才触发任意函数的任何方法。

0 投票
1 回答
9952 浏览

html - html onresizeend 事件,或检测调整大小结束的等效方法

我正在尝试检测 onresize 事件何时在浏览器中结束。如果我使用“onresize”事件,在 Firefox 中它似乎只被触发一次,在 resize 事件结束后,这正是我想要的。但是如果我在 IE 中尝试,“onresize”事件会在调整大小期间多次触发。

我还尝试了 MSDN 中宣传的“onresizeend”事件。但它似乎根本没有被解雇,无论是在 FF 还是在 IE 中。我使用以下代码:

任何想法为什么这不起作用?也许不支持“onresizeend”事件?在这种情况下,如何检测 resize 事件何时结束?

谢谢。

0 投票
4 回答
7526 浏览

javascript - javascript 对象字面量中定义的事件处理程序可以访问自身吗?

我知道如果对象是一个函数,我可以用闭包(var self = this)来做到这一点......

0 投票
4 回答
5862 浏览

javascript - IE 中的 Firefox 样式 onclick 参数

在 Firefox 中,当您将 onclick 事件处理程序添加到方法时,事件对象会自动传递给该方法。除其他外,这允许检测单击了哪个特定元素的能力。例如

有什么办法可以在 IE 中进行近似吗?我需要能够检测从 body 元素上的事件处理程序中单击了哪个元素。

0 投票
4 回答
3643 浏览

javascript - 您如何在 SOF 上的新帖子中执行没有“onclick”(如“Grippie”)的 Javascript 函数

您如何onclick在 SOF 上的新帖子中不使用“Grippie”之类的 Javascript 函数,例如<div class="grippie" style="margin-right: 59px;"/当您发布问题或答案时 Stack Overflow 上的 >?我得到了一个不错的 CSS 光标,它让我知道可移动的边缘,但是调整字段大小的 JavaScript 是如何发现我点击了“grippie”的?

编辑: 感谢您提供导致 jQuery 并描述处理程序的答案。我可以简单地使用确定何时单击元素的处理程序,例如:

或者这可能有效?

0 投票
3 回答
35107 浏览

javascript - jQuery事件来检测元素位置何时改变

我想知道是否有一个 jQuery 事件可用于确定特定 DIV 的top属性何时发生更改。

例如,我在 DIV 上方有不可见的内容。当该内容变得可见时,DIV 将向下移动。我想捕获该事件,然后使用该offset()函数获取 X/Y 坐标。

0 投票
6 回答
2769 浏览

javascript - IE 的非冒泡提交事件的解决方法

我正在开发一个带有大量 AJAX 的大型 Web 应用程序,其事件处理已经失控。我正在尝试建立一个事件委托系统来管理所有这些,但我想知道是否有针对 IE 的非冒泡表单提交的解决方法(有很多通过 AJAX 插入/更新的表单)。我想出的最好的事情是每次我从 AJAX 调用得到响应时执行一些 javascript 来重新加载提交处理程序,但这看起来很难看。有任何想法吗?

此外,是否有人对哪些事件在不同版本的 IE 中没有正确传播有很好的参考?我很难找到好的信息(尽管这个其他问题有点)。


该站点的一个真实示例:对某些用户内容进行了就地编辑。进行事件委托时,我会让主体监听提交事件,然后查看是什么元素触发了事件并相应地处理它。由于提交不会在 IE 中冒泡,因此这是行不通的。5 美元的解决方案是对所有其他事件进行事件委托,并在 Prototype 中使用类似这样的东西处理提交:

但这不适用于动态创建的表单(如上所述,我每次都必须重新实例化处理程序),如果我可以在 IE 中“制作”表单提交气泡和只需在任何地方进行简单的委托(没有特殊情况等)。