问题标签 [event-handling]

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 投票
3 回答
5474 浏览

javascript - 我可以更改 JavaScript 中的事件队列优先级吗?

发生错误时,我需要播放独特的声音。该错误是由于快速输入的大约 200 个条码中的一个出现问题所致。事件队列似乎首先处理键盘输入(条形码扫描仪模拟),然后播放我的声音。因此,如果条形码被快速扫描,错误声音会留在队列中,被下一次扫描撞到。

我可以操纵队列的优先级吗?

0 投票
4 回答
29446 浏览

javascript - DOM 事件优先级

JavaScript 中处理事件的优先顺序是什么?

以下是按字母顺序排列的事件...

  1. onabort - 图像加载中断
  2. onblur - 元素失去焦点
  3. onchange - 用户更改字段的内容
  4. onclick - 鼠标点击一个对象
  5. ondblclick - 鼠标双击一个对象
  6. onerror - 加载文档或图像时发生错误
  7. onfocus - 元素获得焦点
  8. onkeydown - 按下键盘键
  9. onkeypress - 按下或按住键盘键
  10. onkeyup - 释放键盘键
  11. onload - 页面或图像已完成加载
  12. onmousedown - 按下鼠标按钮
  13. onmousemove - 鼠标移动
  14. onmouseout - 鼠标从元素上移开
  15. onmouseover - 鼠标移到一个元素上
  16. onmouseup - 释放鼠标按钮
  17. onreset - 单击重置按钮
  18. onresize - 调整窗口或框架的大小
  19. onselect - 文本被选中
  20. onsubmit - 单击提交按钮
  21. onunload - 用户退出页面

他们在事件队列中的处理顺序是什么?

我相信优先级不是先进先出(FIFO)。

0 投票
1 回答
4727 浏览

asp.net - 关于 Asp.Net DataList 命令和 EventValidation

我有一个更新面板内的 Datalist,它位于 modalpopupextender 的面板中;

我可以列出我想要的项目。我还为 Delete 和 AddBelow 放置了 2 个按钮。这是标记:

并注册如下事件:(我同时使用了 ItemCommand 和 DeleteCommand 来查看哪个有效:)

但是当我单击 Delete 或 AddBelow 按钮时,我收到以下错误:

我已禁用页面的事件验证,但无法捕获该事件...

我在这里想念什么?

0 投票
2 回答
523 浏览

c# - 为什么在我的已发送邮件文件夹上停止处理 ItemAdd 事件?

由于某种原因,我在保持事件句柄处于活动状态时遇到了一些麻烦。

我的项目是一个 Outlook 插件,它会在用户发送电子邮件时提示他们做某事。现在,我有一个连接到“已发送邮件”文件夹的事件处理程序,以便当发送的电子邮件到达该文件夹时,它会触发提示。我将它附加到已发送邮件文件夹的原因是我可以在发送后处理电子邮件。

最初一切都很好,然后我把它放到客户端机器上,事件根本不想触发。这是我将另一个事件(最初是为了弄清楚发生了什么)附加到 onSend 事件的时候。这样做是调用一个单例类,它将我需要的句柄附加到 Sent Items 文件夹,以便不会多次重新创建句柄。(我确实没有单例类,而是在最初附加句柄时有一个全局标志来切换,但这没有什么不同)

我希望这一切都有意义!

不过现在发生的情况是,在某些情况下,前几封电子邮件会按照他们应该的方式回复;即在发送后提示。在此之后它停止提示,我不知道为什么。

我希望也许有一种方法可以检查事件句柄是否直接存在。我唯一的另一个想法是,也许我设置的手柄正在以某种方式被清理?

如果有人有任何建议可以帮助我弄清楚发生了什么,我将不胜感激。

0 投票
4 回答
11000 浏览

delphi - 每次更改 TDbGrid 的选定位置时会触发什么事件?

我的项目中有一个 TDbGrid,每次更改所选行时,我都会尝试触发一个事件。行中的任何更改都已更新链接到同一 DataSource 的所有数据感知控件,但还需要进行其他更改,我需要一个事件处理程序。

我认为 OnColEnter 会起作用。根据帮助文件,它在以下情况下触发:

  • 用户使用键盘导航到单元格。例如,当用户使用 Tab 键或 Home 键时。

  • 用户在单元格中单击鼠标按钮。

  • SelectedField 或 SelectedIndex 属性已设置。

不幸的是,当用户在启用 dgRowSelect 选项并且没有 OnRowEnter 的情况下使用键盘导航时,它不会触发。OnKeyDown 事件在选择更改之前触发。我正在尝试在这里模拟 TListBox 的数据感知版本,并且我需要一些东西来替换列表框的 OnClick 处理程序,尽管名称实际上在任何时候更改选择时都会消失,无论是通过鼠标还是键盘。有什么办法可以用 TDbGrid 做到这一点?如果没有,则必须有其他一些网格控件可以做到这一点。有谁知道它是什么?(最好是开源的?)

0 投票
6 回答
5052 浏览

sharepoint - 为单个列表注册事件处理程序

我有一个共享点事件处理程序,我想为单个列表激活它,而不是站点中的所有列表。我该怎么做?

0 投票
4 回答
1950 浏览

javascript - Firefox Javascript 事件匿名函数

当用户单击 HTML 表中的单元格时,我试图注册一个匿名函数。下面是一些原始的、纯粹的代码:

注意使用eval, 因为它位于一个循环中,并且匿名函数每次都不同。

可以说,这在 Firefox 2 中工作得非常好。但是,Firefox 3 会抛出一个“语法错误”,指向“函数”一词之后的括号内。

有人对我如何解决这个问题有任何聪明的想法吗?


为了清楚地说明我正在尝试做什么,这里有一个非常简化的示例:

换句话说,我希望用不同的参数值来触发相同的函数div

0 投票
3 回答
4286 浏览

events - 如何获得有关 SharePoint 组更改的通知。

我实际上正在寻找一种方法来获取有关 SharePoint 组的任何更改的通知。首先,我可以通过将事件处理程序附加到某种组列表来实现这一点。但不幸的是,没有代表 SharePoint 组的此类列表。

我的第二次尝试是将事件处理程序绑定到内容类型 SharePointGroup ,但这也不起作用。

那么是否有任何其他选项可以获取有关 SharePoint 组上的事件的通知?

编辑:

感谢您到目前为止的回复。

我忘了提到我已经用谷歌搜索并阅读了用户信息列表。对不起。

首先,我找到了一个论坛条目,他们将相对 URL 发布到用户信息列表 (_catalogs/users/simple.aspx)。当我使用此链接查看列表时,它只包含用户而没有组。我不知道,但也许这个链接在列表中做了一些过滤。

我在几篇博客和论坛帖子中发现的其他信息是,附加到用户信息列表的事件处理程序不会在事件中触发。我不得不承认,在阅读了很多次之后,它甚至在 MSDN(http://msdn.microsoft.com/en-us/library/aa979520.aspx)上都不起作用,我没有自己尝试过.

将事件处理程序附加到内容类型的问题不是附加的事情,例如,当我更改组名或从组中删除用户时,处理程序根本没有被触发。我不知道为什么不调用处理程序我很确定我实现了正确的方法并将它们附加到正确的事件。

有关如何了解 SharePoint 组更改的任何其他建议?

0 投票
4 回答
30686 浏览

c# - 事件处理程序会阻止垃圾收集的发生吗?

如果我有以下代码:

pClass 会被垃圾回收吗?或者它是否会在事件发生时仍然触发它的事件?为了允许垃圾收集,我需要执行以下操作吗?

0 投票
1 回答
886 浏览

asp.net - 何时附加自定义事件处理程序?

我在 GridView 中有一个 UserControl。自定义事件处理程序何时附加到 UserControl ?请告诉我,因为我不知道。

在下面的场景中,在触发 UserCreated 事件时,即在 DataBinding 期间,UserCreated 事件处理程序为空。一旦页面完全加载,事件处理程序就可用。

用户控制

托管 UserControl 的页面

页面标记

asp:GridView ID="keyPersonnelGridView" runat="server" 列 asp:TemplateField ItemTemplate userControl:UserName ID="personnelList" runat="server" UserGroupName="All Users" /ItemTemplate /asp:TemplateField ..其余标签关闭 / asp:网格视图

任何善良的灵魂都可以解释为什么在事件触发时我的事件处理程序不存在吗?