问题标签 [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.
javascript - 一次点击两个事件
我正面临这个问题:
我需要更改ORDER按钮的功能。它应该在事件生成之前触发REFRESH
(生成事件)功能。SC_REFRESH
SC_ORDER
onlick
这意味着我需要在按钮上触发两个事件ORDER- 先是REFRESH
,然后是ORDER
。两个事件之间有 2 秒的休息时间。的功能REFRESH
不会改变。
javascript - Javascript事件调用者未传递给参数
我正在使用onmouseover
Javascript 编写以下函数
我的印象是在 Firefox 中应该将事件传递给函数。但是evt
似乎以空值出现。有什么可能导致这种情况吗?
编辑 :
调用这个方法的代码是这样工作的:
然后将该字符串附加到页面上的 div 中。我意识到这确实不理想,但我正在使用一个旧框架并尝试在其中插入一些新功能。
javascript - 雅虎事件.stopEvent
我试图阻止 JavaScript 事件继续传播,使用 YUI。以下是一些最小的 HTML 和一些最小的 JavaScript,它们演示了这个问题:
HTML:
JavaScript:
我期望发生的是用户可以单击foo
添加三键处理程序,然后单击bar
. 然后,用户将看到两个警报,barClickTest1
并且barClickTest2
。相反,会出现所有三个警报。YAHOO.util.Event.stopEvent(e)
不符合我的预期,即阻止事件传播到barClickTest3
.
我已经在 Firefox 3.0.7 和 Safari 3.2.1 中测试了我的代码。正如您在上面看到的,我也尝试过YAHOO.util.Event.stopPropagation(e)
and e.stopPropagation()
。他们都没有成功。
这显然是一个人为的例子,尽管它确实证明了这个问题。在真正的解决方案中,我只会在满足某些条件时才阻止事件传播。
我对 JavaScript 事件的理解是不是一团糟?我如何实现我的目标?
javascript - 如何检测位置哈希的变化?
我正在使用 Ajax 和哈希进行导航。
有没有办法检查window.location.hash
更改是否像这样?
http://example.com/blah #123到http://example.com/blah #456
如果我在文档加载时检查它,它会起作用。
但是如果我有基于#hash 的导航,当我按下浏览器上的后退按钮时它不起作用(所以我从 blah#456 跳转到 blah#123)。
它显示在地址框中,但我无法用 JavaScript 捕捉它。
javascript - 从 html 表单调用 Javascript
我的问题和示例基于 Jason 在这个问题中的回答
当单击提交按钮时,我试图避免使用eventListener
,而只是调用。handleClick
onsubmit
我拥有的代码绝对没有任何反应。
为什么handleClick
不被调用?
编辑:
请不要建议将框架作为解决方案。
以下是我对代码所做的相关更改,这些更改会导致相同的行为。
javascript - Safari 2.0 中修改键的键盘事件
我正在使用键盘事件 ( keydown
and keyup
) 来准确检测用户何时按下或释放 shift 键。
在 Safari 3+ 中,这可以正常工作。然而,Safari 2.0 似乎没有为 shift 键触发键盘事件——事实上,它似乎没有为任何修饰键触发事件......
有谁知道我可以如何处理或解决这个问题?
(在这种特殊情况下,我只需要使用 Safari,因为我在仪表板小部件中使用此代码。)
javascript - 如何检测窗口是否真的在 IE8 标准模式下调整了大小?
我的网站有许多针对不同屏幕宽度定制的样式表。当浏览器调整大小时,window.onresize
事件会通过查看document.documentElement.clientWidth
. 如果是这样,它会依次打开更大的样式表,直到出现滚动条。然后,它以相反的顺序将它们关闭,直到滚动条消失。offsetWidth
通过比较来检测滚动条scrollWidth
。
在 IE8 中,两个新问题混淆了调整大小的检测。一,onresize
当滚动条出现或消失时触发,二,d.dE.clientWidth
报告没有滚动条的宽度,从 IE7 和所有其他浏览器中断。我的网站现在经常陷入一个循环,其中onresize
逻辑激活一个更大的样式表,该样式表创建滚动条,然后触发另一个无法过滤掉的调整大小事件,因为clientWidth
滚动条出现或消失导致该事件发生了变化。outerWidth
如果 IE8 有我可以检查的东西,这将是一个微不足道的修复。
javascript - 类方法不能访问属性
我创建了一个像这样的类:
不幸的是,这this
是触发事件(在我的情况下是一个<a>
标签),我无法访问类属性。
有什么建议么?
javascript - Onleftclick 和 onrightClick Javascript 函数
在我的服务器端代码中,我正在动态构建一个表格,现在我正在添加以下代码来处理行点击。
有什么方法可以使这项工作仅左键单击,然后在右键单击时添加不同的属性以转到不同的位置?
javascript - Response.Redirect 和 OnBeforeUnload 可以一起玩吗?
有谁知道如何检测OnBeforeUnload
服务器端代码发送的事件Response.Redirect
?我想提示用户不要让他们在时间之前离开页面,但是当服务器重定向我时,它不应该提示用户。
我正在使用广泛使用的遗留代码,Response.Redirect
我对改变重定向发生的方式不感兴趣。请不要建议我使用 X 重定向方法。
应该可以根据 XMLHttpRequest 对象中的响应代码来执行此操作,因为响应重定向应该发回 302 。
编辑: Response.Redirect 发回 200,在正文中带有重定向代码,然后window.location.href = new page
在 ASP.Net 代码中执行。有没有办法获得服务器响应以确定这已经发生?