Tag: 事件

传递参数在jQuery中点击()和绑定()事件?

我想传递给jquery中的Click()事件的几个参数,我试图跟随,但它不工作, commentbtn.click(function(id, name){ alert(id); }); 而且,如果我们使用绑定,那么我们将如何做到这一点 commentbtn.bind('click', function(id, name){ alert(id); }); 请帮忙!

你需要在析构函数中移除一个事件处理程序吗?

我使用了一些UserControls ,它们在运行时在应用程序中创build和销毁(通过创build和closures内部具有这些控件的子窗口)。 这是一个WPF用户控件,并从System.Windows.Controls.UserControlinheritance。 没有可以覆盖的Dispose()方法。 PPMM是与我的应用程序相同的生命周期的Singleton 。 现在在我的(WPF) UserControl的构造函数中,我添加一个事件处理程序: public MyControl() { InitializeComponent(); // hook up to an event PPMM.FactorChanged += new ppmmEventHandler(PPMM_FactorChanged); } 我习惯于在析构函数中删除这样的事件处理程序: ~MyControl() { // hook off of the event PPMM.FactorChanged -= new ppmmEventHandler(PPMM_FactorChanged); } 今天我偶然发现,并想知道: 1)这是必要的吗? 还是GC照顾它? 2)这是否工作? 或者我将不得不存储新创build的ppmmEventHandler ? 我期待着你的回答。

添加和删​​除匿名事件处理程序

我想知道这是否真的有效? private void RegisterKeyChanged(T item) { item.OnKeyChanged += (o, k) => ChangeItemKey((T)o, k); } private void UnRegisterKeyChanged(T item) { item.OnKeyChanged -= (o, k) => ChangeItemKey((T)o, k); } 编译器如何知道事件处理程序是相同的? 这甚至推荐?

ga或_gaq.push用于Google Analytics事件跟踪?

我想跟踪一个网站上的一个页面上的button,在条件通过后检查是否存在cookie。 非常简单,但哪种语法最好? 我已经研究了GA事件跟踪语法的ga和gaq_push前缀(如果我错了,请原谅我)但他们看起来很相似? _gaq.push <script type="text/javascript"> jQuery(document).ready(function () { if (jQuery.cookie('entry_winagrand_cookie') !== null) { jQuery('notregisterbtn').on('click', function () { _gaq.push(['_trackEvent', 'QR_Win_A_Grand', 'Clicked through to Register']); }); } }); </script> ga <script type="text/javascript"> jQuery(document).ready(function () { if (jQuery.cookie('entry_winagrand_cookie') !== null) { jQuery('notregisterbtn').on('click', function () { ga('send', 'event', 'button', 'click', 'QR_Win_A_Grand', 'Clicked_through_to_register'); }); } }); </script>

在Windows服务程序中logging事件

我已经创build了一个Windows服务程序,我希望我的错误严格写入Windows事件日志。 所以我从代码项目文章中遵循这些步骤: http://www.codeproject.com/KB/dotnet/simplewindowsservice.aspx 但是当我启动或停止服务时,我看不到在事件查看器窗口中创build的事件日志中logging的任何自定义日志消息。 另外如何指定消息是由于错误还是仅仅是信息?

Backbone.js:更改没有射击model.change()

我正在面对Backbone.js = / 这里我对用户模型的看法: window.UserView = Backbone.View.extend({ … initialize: function() { this.model.on('destroy', this.remove, this); this.model.on('change', function() { console.log('foo'); }); }, render: function(selected) { var view = this.template(this.model.toJSON()); $(this.el).html(view); return this; }, transfer: function(e) { var cas = listofcas; var transferTo = Users.getByCid('c1'); var transferToCas = transferTo.get('cas'); this.model.set('cas', cas); console.log('current model'); console.log(this.model); //this.model.change(); this.model.trigger("change:cas"); console.log('trigger change'); […]

当界面和具体在不同的项目中时,“不能实现接口成员”错误

这编译: public interface IMyInterface { event Action<dynamic> OnSomeEvent; } class MyInterface : IMyInterface { public event Action<dynamic> OnSomeEvent; } 但是当我把接口和实现分开到不同的项目时,我得到: 访问器'TestProject2.MyInterface.OnSomeEvent.remove'不能为types'TestProject2.MyInterface'实现接口成员'InterfaceNamespace.IMyInterface.remove_OnSomeEvent(System.Action)'。 使用明确的接口实现。 这只发生在一个dynamic参数…

避免在跨线程WinForm事件处理中调用/ BeginInvoke的困境?

我仍然困扰于WinForm UI中的后台线程。 为什么? 以下是一些问题: 显然最重要的问题是,我不能修改一个控制,除非我在创build它的同一个线程上执行。 如你所知,Invoke,BeginInvoke等只有在创buildControl之后才可用。 即使在RequiresInvoke返回true之后,BeginInvoke仍然可以抛出ObjectDisposed,即使它不抛出,如果控件被销毁,它也不会执行代码。 即使在RequiresInvoke返回true之后,Invoke也可以无限期地挂起,等待与Invoke调用同时处理的控件执行。 我正在寻找一个优雅的解决scheme来解决这个问题,但在进入我所寻找的细节之前,我想我会澄清这个问题。 这是为了解决一般问题,并在后面加一个更具体的例子。 对于这个例子,假设我们通过互联网传输大量的数据。 用户界面必须能够显示正在进行的传输的进度对话框。 进度对话框应该不断快速更新(每秒更新5到20次)。 用户可以随时closures进度对话框并根据需要再次调用。 而且,假设参数为假,如果对话框是可见的,它必须处理每个进度事件。 用户可以在进度对话框中点击取消,并通过修改事件参数,取消操作。 现在我需要一个解决scheme,将适合下面的一些约束: 允许工作者线程调用Control / Form上的方法,并阻止/等待,直到执行完成。 允许对话本身在初始化或类似的地方调用这个相同的方法(因此不使用调用)。 处理方法或调用事件没有实施的负担,解决scheme应该只改变事件订阅本身。 适当地处理阻塞调用到可能正在处理的对话框中。 不幸的是,这不像检查IsDisposed那么简单。 必须能够与任何事件types一起使用(假定EventHandlertypes的委托) 不得将exception转换为TargetInvocationException。 该解决scheme必须使用.Net 2.0及更高版本 那么,鉴于上面的限制,这可以解决吗? 我搜遍了无数的博客和讨论,可惜我还是空手而归。 更新:我知道这个问题没有简单的答案。 我只在这个网站上呆了几天,而且我看到一些有很多经验的人回答了问题。 我希望这些人中的一个已经足够的解决了这个问题,我不用花一个星期左右的时间来构build一个合理的解决scheme。 更新#2:好吧,我将尝试更详细地描述问题,看看有什么(如果有的话)摆脱。 下面的属性可以让我们确定它的状态有一些事情引起关注… Control.InvokeRequired =如果在当前线程上运行,或者IsHandleCreated为所有父项返回false,则logging为返回false。 InvokeRequired实现可能会抛出ObjectDisposedException,甚至可能重新创build对象的句柄,这让我很困扰。 而且,因为InvokeRequired在我们无法调用的时候(Dispose正在进行)可以返回true,即使我们可能需要使用invoke(Create in progress),它也可以返回false,所以这在任何情况下都是不可信的。 唯一的情况下,我可以看到我们可以信任的InvokeRequired返回false是当IsHandleCreated在调用之前和之后都返回true(BTW的MSDN文档为InvokeRequired提及检查IsHandleCreated)。 Control.IsHandleCreated =如果句柄已经分配给控件,则返回true; 否则,是错误的。 虽然IsHandleCreated是一个安全的调用,但如果控件正在重新创build它的句柄,它可能会崩溃。 这个潜在的问题似乎可以通过在访问IsHandleCreated和InvokeRequired时执行locking(控制)来解决。 Control.Disposing =如果控件正在处理过程中,则返回true。 Control.IsDisposed =如果控件已被处置,则返回true。 我正在考虑订阅Disposed事件,并检查IsDisposed属性来确定是否BeginInvoke将完成。 这里最大的问题是在Disposing – > […]

监视浏览器控制台中的所有JavaScript事件

是否有可能听所有的JavaScript事件? 我试图猜测在DOM被AJAX请求修改后是否有事件触发。

检查一个元素来调查jQuery事件绑定

假设:我find一个带有button('#bButButton')的页面,点击时会导致一个美洲驼('img#theLlama')使用jQuery显示()。 所以,buttons.js中的某处(比如76行) $('#bigButton').click(function(){ $('img#theLlama').show(); }) 现在,假设我有一个包含大量.js文件的大型HTML页面。 我可以点击button,看到美洲驼出现,但我不知道上面的代码是在哪里。 我正在寻找的解决scheme非常类似于在Firebug中可用的CSS。 我想检查元素,让它告诉我,这个jQuery出现在buttons.js的第76行,以及这个元素上的任何其他绑定。 * 注:赏金是针对“骆驼问题”的具体答案,即指向上述解决scheme。 * 对于许多jQuery任务来说,FireQuery是一个很好的工具,但它似乎并不能回答美洲驼的问题。 如果我错了,请纠正我。