问题标签 [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 投票
4 回答
22190 浏览

c# - 从所属类外部调用 C# 事件?

是否有可能在任何情况下都能够做到这一点?

我现在的情况是这样的:

我的第一个想法是有一个类似的功能:

这是一个非常丑陋的组合,但它应该可以工作......但必须有一个更优雅的解决方案?.NET 库一直使用消息处理程序和控件中的调用事件来执行此操作。还有其他人有任何其他/更好的想法吗?

0 投票
9 回答
200168 浏览

python - How do I handle the window close event in Tkinter?

How do I handle the window close event (user clicking the 'X' button) in a Python Tkinter program?

0 投票
4 回答
1152 浏览

javascript - Flash:从浏览器中的另一个选项卡返回,可以 Flash 听返回到某种类型的选项卡事件吗?

我得到了这个 Flash 应用程序,您可以在其中观看视频时单击链接。它将打开一个新标签并暂停视频。现在,当您回到 Flash 应用程序时,如果视频能够再次开始播放,那就太好了。有没有办法,一个事件或这样做吗?

0 投票
2 回答
2064 浏览

javascript - 如何将事件处理程序绑定到 jQuery 中的实例?

我正在尝试使用 jQuery 将事件绑定到 Javascript“类”的特定实例的“方法”。要求是我在事件处理程序中应该能够使用“this”关键字来引用我最初将事件绑定到的实例。

更详细地说,假设我有一个“类”,如下所示:

还有一个例子:

我现在想将一个事件绑定到我的汽车的驱动器“方法”,以便每当我单击一个按钮时,例如在汽车“类”的 myCar 实例上调用驱动器“方法”。

到目前为止,我一直在使用以下函数来创建一个闭包,它允许我在“方法”中使用“this”关键字轻松访问实例成员。

我使用它如下:

我如何用 JQuery 完成这样的事情?

我特别询问将“this”与指定的实例相关联,我可以自己处理周围的其他杂物。

0 投票
4 回答
1826 浏览

c# - 有委托处理程序的事件和没有委托处理程序的事件有什么区别?

这有什么区别:

还有这个?

他们都工作。前者是您使用代码片段时 Visual Studio 的默认设置。但似乎它只是在宣传多余的措辞,还是我遗漏了什么?

0 投票
23 回答
165502 浏览

javascript - 当发生“模糊”事件时,我如何找出哪个元素焦点*到*?

假设我将一个blur函数附加到一个 HTML 输入框,如下所示:

有没有办法blur在函数内部获取导致事件触发的元素的 ID(被点击的元素)?如何?

例如,假设我有这样的跨度:

如果我在输入元素获得焦点后立即单击跨度,则输入元素将失去焦点。该函数如何知道它是mySpan被点击的?

PS:如果 span 的 onclick 事件发生在 input 元素的 onblur 事件之前,我的问题将得到解决,因为我可以设置一些状态值来指示特定元素已被单击。

PPS:这个问题的背景是我想从外部(从可点击元素)触发一个 AJAX 自动完成器控件来显示它的建议,而建议不会因为blur输入元素上的事件而立即消失。因此,如果单击了某个特定元素,我想检查该blur函数,如果是,则忽略模糊事件。

0 投票
5 回答
1818 浏览

php - 使用 php/MySQL 的定时事件

在经过一定时间后,我需要一种方法来修改表中的值。我目前的方法如下:

  • 在表中插入等待期的结束时间
  • 当用户加载请求更改值的页面时,检查当前 >= 结束时间
  • 如果是,则更改值并删除结束时间字段,如果不是,则不执行任何操作

这将成为该网站的主要功能,因此效率是关键;考虑到这一点,您可能会看到我如何做的问题。每次有人访问需要信息的页面时,都会调用相同的代码块。

任何改进或更好方法的建议将不胜感激,最好是在 php 或 perl 中。

作为对 cron 工作答案的回应:谢谢,如果可能的话,我想做类似的事情,但是主机限制是问题所在。由于这是应用程序的主要部分,因此不能受到限制。

0 投票
3 回答
265 浏览

user-interface - 在 GUI 中打破事件循环

在编写 GUI 时,我经常遇到以下问题:假设您有一个模型和一个控制器。控制器有一个小部件W,用于显示X模型的属性。

因为模型可能会从控制器外部更改(可能有其他控制器使用相同的模型、撤消操作等),所以控制器会监听模型的更改。控制器还监听小部件上的事件W并相应地更新属性X

现在,会发生以下情况:

  1. 中的值W已更改
  2. 生成事件,调用控制器中的处理程序
  3. 控制器X模型中设置新值
  4. 模型发出事件,因为它已被更改
  5. 控制器模型接收更改事件
  6. 控制器获取的值X并将其设置在小部件中
  7. 转到 1。

有几种可能的解决方案:

  1. 修改控制器以在模型更新时设置一个标志,如果设置了此标志,则不对来自模型的任何事件做出反应。
  2. 暂时断开控制器(或告诉模型一段时间不要发送任何事件)
  3. 冻结小部件中的任何更新

过去,我通常选择选项 1,因为这是最简单的事情。它的缺点是用标志使你的类变得混乱,但其他方法也有它们的缺点。

只是为了记录,我在几个 GUI 工具包中遇到了这个问题,包括 GTK+、Qt 和 SWT,所以我认为它与工具包无关。

有什么最佳实践吗?还是我使用的架构完全错误?

X@Shy:这是某些情况下的解决方案,但是如果从控制器外部更改(例如,使用命令模式进行撤消/重做时),您仍然会得到一轮多余的事件,因为值已经改变,W被更新并触发一个事件。为了防止对模型进行另一次(无用的)更新,必须吞下小部件生成的事件。
在其他情况下,模型可能更复杂,简单检查究竟发生了什么变化可能不可行,例如复杂的树视图。

0 投票
4 回答
4378 浏览

.net - 添加对 GACed DLL 的 Web 引用

我在 SharePoint 中编写事件处理程序时遇到了这个问题。我的事件处理程序有一个网络参考。当我创建此 Web 引用时,Web 服务的 URL 将添加到程序集的 .config 文件中。如果我必须更改网络参考 URL,我只需更改配置文件中的链接。

当我尝试对 dll 进行 GAC 时,问题就来了。当我对 DLL 进行 GAC 时,配置文件无法与 dll 一起被 GAC,因此,我无法更新 Web 参考。

我发现的一种解决方法是修改构造函数方法 Reference.cs 类,该类在我添加引用时由 Visual Studio 自动生成,以便构造函数从其他位置读取 Web 服务 url,例如注册表或某些 XML 文件预定位置。但这有时会带来问题,因为当我使用 Visual Studio 更新 Web 参考时,此 Reference.cs 文件会重新生成,并且我的所有修改都会丢失。

有没有更好的方法来解决这个问题?

0 投票
2 回答
23948 浏览

events - VisualBasic 中的 MSWinsock.Winsock 事件处理

我正在尝试使用以下代码处理 Winsock_Connect 事件(实际上我在 Excel 宏中需要它):

但它永远不会进入 Winsock1_Connect 子例程,尽管 Winsock1.State 是“已连接”。我想使用标准 MS 库,因为我在我的 PC 上没有管理权限,而且我无法注册一些自定义库。谁能告诉我,我错在哪里?