Tag: 事件

如何在JavaScript中实现一个锁

如何在JavaScript中实现等同于C#的lock ? 所以,解释一下我在想一个简单的用例是: 用户点击buttonB B提出了一个onclick事件。 如果B处于event-state则事件在传播之前等待B处于ready-state 。 如果B处于ready-state ,则B被locking并被设置为event-state ,然后事件传播。 当事件的传播完成时, B被设置为ready-state 。 我可以看到如何接近这个可以完成,只需要添加和删除buttonready-state 。 但是,问题在于用户可以在一行中点击一个button的次数比可以设置的variables快两倍,所以在某些情况下,locking的尝试将失败。 有谁知道如何实现一个不会在JavaScript中失败的锁?

触发一个jQuery UI滑块事件

如何触发jQuery UI滑块上的更改事件? 我以为会是的 $('#slider').trigger('slidechange'); 但是什么都不做。 完整的示例脚本如下: <link href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" type="text/css"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script> <script src="http://jqueryui.com/latest/ui/ui.core.js" type="text/javascript"></script> <script src="http://jqueryui.com/latest/ui/ui.slider.js" type="text/javascript"></script> <body> <div id="slider"></div> <script type="text/javascript"> $().ready(function() { $('#slider').slider({change: function() { alert(0); }}); // These don't work $('#slider').trigger('change'); $('#slider').trigger('slidechange'); }); </script> 我预计这会在页面加载时提醒“0”

不注销事件处理程序是不好的?

如果我有一个只有less数事件处理程序注册的应用程序(并且在应用程序closures之前使用这些事件的对象不会被处理),我是否真的需要担心注销那些处理程序? 我能看到的唯一的理由是,如果事件被触发,你不需要关心(即你有多个处理程序注册到一个事件),可能会有一点额外的开销。 还有其他什么好的理由吗? 任何人遇到重大问题,因为他们没有取消注册事件?

如何检测inputtypes=文件“更改”为同一个文件?

我想在用户select一个文件时触发一个事件。 这样做与.change事件一起工作,如果用户每次更改文件。 但是,如果用户再次select相同的文件,我想要触发事件。 用户select文件A.jpg (事件触发) 用户select文件B.jpg (事件触发) 用户select文件B.jpg (事件不会启动,我想让它启动) 我该怎么做?

在WPF文本框中粘贴事件

我创build了一个inheritanceTextBox的自定义控件。 这个自定义控件是一个数字TextBox ,只支持数字。 我正在使用OnPreviewTextInput来检查每个新键入的字符,看看这个字符是否是一个有效的input。 这很好。 但是,如果我将文本粘贴到TextBox ,则不会触发OnPreviewTextInput 。 在TextBox捕获粘贴文本的最佳方法是什么? 另外,我有一个问题,当后面的空间被按下时,我不知道什么事件会触发。 OnPreviewTextInput没有被解雇! 任何想法如何在WPF TextBox捕获粘贴的文本和背部空间事件?

事件不是字段 – 我不明白

在C#深入 (到目前为止一本优秀的书),Skeet解释事件不是领域 。 我多次阅读这个部分,我不明白为什么这个区别有什么不同。 我是混淆事件和委托实例的开发人员之一。 在我看来,他们是一样的。 不仅仅是一种间接的forms? 我们可以同时组播。 事件设置为一个字段作为速记…当然。 但是,我们正在添加或删除处理程序。 当事件发生时将它们堆叠起来。 我们不要和代表做同样的事情,把它们叠起来调用?

将事件附加到多个元素

说我有以下几点: var a = $("#a"); var b = $("#b"); //I want to do something as such as the following : $(a,b).click(function () {/* */}); // <= does not work //instead of attaching the handler to each one separately 显然,上面的方法不起作用,因为在$函数中,第二个参数是context ,而不是另一个元素。 那么我怎样才能把这个事件同时附加到这两个元素呢? [更新] peirix发表了一个有趣的片段,他将元素与&符号结合在一起; 但是我注意到这个: $(a & b).click(function () { /* */ }); // <= works […]

为什么人们在他们的代码中使用消息/事件总线?

我认为你已经听说过消息/事件总线,这是系统中所有事件stream动的唯一地点。 计算机主板和LANnetworking中也有类似的架构。 这对于主板和networking来说是一个很好的方法,因为它可以减less线路数量,但是对软件开发有好处吗? 我们没有电子产品这样的限制。 消息总线/事件总线的最简单实现可以是: class EventBus { void addListener(EventBusListener l}{…} void fireEvent(Event e) {…} } 使用bus.fireEvent(event)完成发布事件,接收消息由bus.addListener(listener)启用。 这种体系结构有时用于软件开发,例如MVP4G为GWT实现类似的消息总线。 活跃项目: Google Guava EventBus 本杰明Diedrichsen 大使 Mathieu Carbou的Mycila PubSub mvp4g事件总线 简单的Java事件总线 hibernate/死亡项目: Sun / Oracle JavaBeans InfoBus https://eventbus.dev.java.net/ [Broken link] 这只是stream行的Observer(Listener)模式“全局” – 系统中的每个对象都可以监听每条消息,我认为这很糟糕,它打破了封装原则(每个对象都知道所有事情)和单一责任原则某些对象需要新types的消息,事件总线通常需要更改,例如在Listener类中添加新的Listener类或新方法。 由于这些原因,我认为,对于大多数软件来说,观察者模式比事件总线更好。 你对事件总线有什么看法,对典型的应用程序有什么意义? 编辑:我不是在谈论'大'企业解决scheme,如ESB – 他们可以是有用的(还有什么比ESB提供更多,不仅仅是一个事件总线)。 我在询问在“常规”Java代码中使用消息总线进行对象到对象连接的有用性 – 有些人这样做,请检查上面的链接。 事件总线可能是电话到电话通信或计算机到计算机通信的最佳解决scheme,因为networking中的每个电话(或计算机)通常可以相互通话,并且总线减less了电线的数量。 但对象很less互相交stream – 一个对象可以拥有多less个合作者 – 3,5个?

jquery:event.stopImmediatePropagation()vs返回false

调用event.stopImmediatePropagation()并在事件处理程序中return false是否有区别?

jQuery的:如何获取事件处理函数中的事件对象,而不传递它作为参数?

我的链接上有一个onclick属性: <a href="#" onclick="myFunc(1,2,3)">click</a> 这指向JavaScript中的这个事件处理程序: function myFunc(p1,p2,p3) { //need to refer to the current event object: alert(evt.type); } 由于事件对象“evt”没有传递给参数,是否仍然有可能获得这个对象? 我试过window.event和$(window.event) ,但都是undefined 。 任何想法?