问题标签 [attachevent]

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 投票
0 回答
249 浏览

javascript - IE attachEvent 调用返回 true,但处理程序显示“null”

我有一个相当简单的 ASP.NET 页面,它呈现一个 HTML 输入(文本框)。在生成的 HTML 中,我将处理程序附加到几个事件,包括 onfocus、onkeypress 和 onkeyup。因为这是针对不支持 addEventListener 的 IE 版本(我无能为力的情况)的解决方案,所以我被迫使用 attachEvent。

对 attachEvent 的典型调用如下 - 为了简洁/清晰起见,我从原文中摘录了此源代码,因此它不完全是有问题的代码:

当我在 IE 调试器中单步执行此代码时,attachEvent 在两个实例中都返回“true”,这应该表明事件附件尝试成功。但是,当我查看调试器中控件的 [Event] 处理程序时,所有事件都显示为“null”,没有附加处理程序。

我尝试过/研究过的事情:

  • 我已经阅读了几篇关于 IE 中事件附件变幻莫测的不同文章,所以我似是而非地避免了任何“this”引用。
  • 我尝试了一个使用 addEvent 包装器块之一的版本,该包装器块尝试使用 addEventListener(如果可用),即使我知道这将是一个 IE 解决方案。

当我针对 FireFox 尝试该版本时,事件附件通过 addEventListener 正常工作,但在 IE 中使用 attachEvent 失败(attachEvent 仍然返回 true)。

  • 然后我选择消除包装器可能引入的任何可能的问题,并直接对控件使用 attachEvent,这将我带到现在的位置。问题仍然存在。

我想我只是忽略了一些非常简单的事情,因为我之前已经毫无困难地连接了一些事件,但是这里的一些东西给了我一个我不认识的曲线球。欣赏额外的眼球,看看我错在哪里。

0 投票
2 回答
180 浏览

javascript - 使用 addEventListener 实时复制到摘要页面,遇到了一些问题

我是 javascript/jQuery No0b 并希望使用 addEventListener 在摘要页面中打印进度。这是一个 4 选项卡式表单。

HTML:

JS部分:

这工作得很好,我试图只将customerDescription部分放入<div class='summaryDIV'>+ customerDescription +</div>

我遇到问题的部分:

我尝试过其他方法,例如:

帮助!我究竟做错了什么?

这是整个功能的代码:

0 投票
1 回答
1239 浏览

javascript - addEventListener 复制选择选项 Javascript

我创建了一个 javascript 函数来将数据从另一个jQuery选项卡上的输入复制到摘要选项卡。我在下拉列表中遇到重复问题。

如果需要更改,我需要在选择另一个选项时替换现有信息。

HTML - 下拉



HTML - 展示位置



JavaScript

0 投票
0 回答
56 浏览

javascript - 在外部应用特定于页面的 JavaScript 的方法

我很欣赏这在很大程度上取决于要求,但我对将事件附加到外部元素还很陌生。

我想知道识别页面特定脚本和事件并最小化 HTML 模板中的 JS 的最佳实践。这是我的第一次尝试:

  • 为页面添加全局变量
  • 在外部脚本中检测该变量并基于它设置事件

内联JS:

外部 JS:

即使内容很少,也可以将其拆分为单独的文件,或者将 onload 标签添加到 body 标签中是否更有效?任何输入将不胜感激!

任何输入都会很棒。

0 投票
0 回答
193 浏览

javascript - addEventlistener 和attchEvent

我有一个针对名为 mk-featured-kits 的 div id 的 li 元素的函数。所有这一切都完美无缺。

我正在使用 Chrome 查看控制台日志,它允许我将此路径用于 LI:e.target.tagName。

由于 IE 8 和下面的不读取 addEventListener 事件,我正在使用这个(下面的代码)来检查该功能。问题是通过使用这种技术,我无法使用以下方法访问 LI:e.target.tagName === 'LI' 因为该事件仅将 myNode 视为 tagName === DIV。

如何像在第一个脚本上那样访问 LI,但使用第二个脚本的技术。先感谢您。

这是html代码: <div class="mk-column">

`

0 投票
2 回答
10078 浏览

javascript - 如何将 mouseenter 事件侦听器附加到 sap.m.StandardListItem?

我需要在standardListItem拖动时检索附加到 a 的一些数据。我正在使用可拖动的 jQuery-UI 处理拖动。我做了以下事情:

但是数据检索仅在StandardListItem单击时才起作用,在拖动元素时我不起作用。所以,想法是附加数据检索mouseenter,如何附加事件监听器mouseenter

0 投票
1 回答
711 浏览

attachevent - 升级到 Windows 8.1 会导致 window.attachEvent("onload", 失败

我有一个用于开发 Web 应用程序的程序,称为 CodeCharge Studio。我刚刚从 Windows 8 升级到 Windows 8.1,现在使用该程序时不断出现错误。错误发生在一个普通的javascript文件中,行是window.attachEvent("onload", CommonOnLoad);

有谁知道这个事件是否通过安装 8.1 改变了,或者它可能是 IE11 的更新。

0 投票
1 回答
585 浏览

javascript - 使用 addEventListener 取消 onBeforeUnload

我试图弄清楚如何防止onBeforeUnload在使用没有 href 的链接时在 IE9+ 中触发事件。

我在这里设置了一个小提琴(真实场景的简化测试),它几乎描述了我想要完成的事情。每当onBeforeUnload触发时(ergo,单击链接时),页面背景变为蓝色。使用时attachEvent我可以很容易return false地防止这种情况发生。但是当添加链接的点击事件时addEventListener,return 语句没有任何区别。或多或少,我希望链接 4 的行为类似于链接 2。

是的,从链接更改为按钮将是一个解决方案。更改 onBeforeUnload 功能(例如将该代码作为点击功能的一部分)将是另一回事。但遗憾的是,我无法控制这些代码。

所以。onBeforeUnload设置时,有什么方法可以阻止来自触发器的链接上的点击事件addEventListener?还是 MS 在从 迁移attachEvent到时消除了这种可能性addEventListener,因为阻止用户导航离开页面通常是个坏主意?

0 投票
1 回答
1320 浏览

javascript - IE8 fallback for addEventListener breaks code for modern browsers

Drawing off the explanation provided in this example, I added the following code to my html as part of an immediately invoked function expression:

When these two versions of applying the event listener to the document are used separately, they work as intended. That is to say, that if the IE8 fix is removed, the code works properly in other browsers. And if the addEventListener code block is removed, it works properly in IE8. However, having both of these code blocks in place currently breaks the html in some way for at least one of the two browser categories (ie8 & not ie8)

Some additional information for reference:

The document object was used because the actual html element that should hide on Escape does not load into the DOM initially, and this was an easy way around that.

This code block functions properly (when one of the two inner code blocks are omitted) as either an inline <script> call or an external .js file's call.

The html in which this code block lives is injected into the DOM of another html document. In other words, what I am working with is just a part of the whole page that is added dynamically. Because of this, when I say the html is 'broken' what actually happens is the html I am editing is not present in the DOM of the parent html document.

I had considered setting up conditional comments to say something like <!--[if IE8]>USE SCRIPT B<![endif]--> but this is difficult because I do not have access to the <head> section of the parent html. I would prefer to just work this out within the hideOverlayOnEsc() function if possible.

0 投票
1 回答
141 浏览

javascript - 0 的 AttachEvent 未定义

我想使用 onchange-Event 自动调整我网站的某些部分的大小。但和往常一样,我有一个小问题要解决。控制台给出了这个错误:

The property undefined or a null reference can not be retrieved”。

最后一件事。我已经在 body-tag 末尾的 html 文档中编写了 script-tag。