草庐IT

EVENT_DISPATCH

全部标签

javascript - 如何从 event.target 获取元素的 ID

考虑一段如下所示的代码:$('body').on('click',function(e){});我知道有一种方法可以从e.target获取元素类型,即e.target.nodeName,但我如何才能获取该元素的id从那?如果做不到,是否有另一种方法来获取被点击元素的id? 最佳答案 您可以使用e.target.id。e.target表示DOM对象,您可以访问它的所有属性和方法。$('body').on('click',function(e){alert(e.target.id);});您可以使用jQuery函数jQuery(e.ta

jquery - Chrome 文件上传错误 : on change event won't be executed twice with the same file

我正在研究这个html5文件uploader插件,但它在GoogleChrome上有一个错误,我无法理解并修复它。它在Firefox上运行良好。jsfiddlelink问题是您不能从桌面上传同一个文件两次。当您第一次点击、选择并点击“确定”以从桌面上传文件时,它应该会提示一条消息,例如“.button-1”——取决于您点击的上传按钮。然后如果你尝试再次上传同一个文件,这行代码将不再执行,$(".upload-file",object_parent).change(function(){......alert($cm.selector);});知道这个插件出了什么问题吗?(functio

jquery - popstate 返回 event.state 未定义

我正在学习HTML5中的历史,在此示例中(打开JavaScript浏览器控制台以查看错误)event.state.url返回:UncaughtTypeError:Cannotreadproperty'url'ofundefined查看并提供帮助:http://jsfiddle.net/un4Xk/ 最佳答案 event是jQuery事件对象,而不是DOM对象。要访问DOM事件对象,请使用event.originalEvent:http://jsfiddle.net/pimvdb/un4Xk/1/.varstate=event.ori

html - 延迟 HTML5 :invalid pseudo-class until the first event

我最近发现:invalid伪类在页面加载后立即应用于required表单元素。例如,如果您有以下代码:input:invalid{background-color:pink;color:white;}input:valid{background-color:white;color:black;}…然后您的页面将加载一个空的粉红色输入元素。将验证内置到HTML5中很棒,但我认为大多数用户根本不希望表单在他们有机会输入任何值之前进行验证。有什么方法可以延迟伪类的应用,直到第一个影响该元素的事件(表单提交、模糊、更改,任何合适的)?没有JavaScript可以做到这一点吗?

iphone - dispatch_queue_create 具有相同标签的多个调用

我需要在为它们创建的自定义线程上执行一小组相关任务。这些任务将从不同的类(class)安排。我打算使用GCD的dispatch_queue_create创建自定义线程并在其上安排任务。请注意,所有相关任务都必须按顺序仅在该线程上执行。所以我的问题是,如果我调用dispatch_queue_create("my_custom_thread_label",NULL)来自多个类的相同标签我的代码库,它最终会映射到一个线程吗?或者我是否需要在一个地方创建它并在需要时获取对它的引用?谢谢。 最佳答案 您需要在一个地方创建它并传递指针。

iphone - 使用 dispatch_async 加速搜索?

我正在尝试加快我的应用搜索速度,但当有大量数据时它会出现滞后。所以我试图通过使用dispatch_async而不是dispatch_sync在UI上拆分搜索Predicate原因没有什么不同如果我使用它。问题是当我使用dispatch_async时,应用程序有时会崩溃,因为[__NSArrayIobjectAtIndex:]:index"17"beyondbounds。我现在发生这种情况是因为可以说第一个仍然有效并重新加载tableView并继续搜索将根据结果更改数组大小所以在这种情况下“崩溃”:(这是我的代码:dispatch_async(myQueue,^{searchArray=

ios - 从 NSOperationQueue 获取底层的 dispatch_queue_t

我似乎对dispatch_queue_t和NSOperationQueue队列有些混淆。默认情况下,AFNetworking的AFImageRequestOperation将在应用程序的主线程上执行成功回调block。要更改此设置,AFHTTPRequestOperation具有属性successCallbackQueue,您可以选择在哪个队列上运行回调。我正在尝试在已经执行HTTP请求的相同后台队列/后台线程上执行成功回调。NSOperationQueue而不是返回主线程>运行HTTP请求的也应该运行回调,因为我需要使用一些返回的图像进行一些繁重的计算。我的第一个尝试是将succes

iOS 测试 : dispatch_once get called twice. 应用程序第一,测试第二。观察者的问题

我有一个将在应用委托(delegate)中创建的单例类。当我运行XCTTests时,它会第二次创建。+(instancetype)urlSchemeManager{staticdispatch_once_tonceToken;staticUrlSchemeManager*_sharedInstance;dispatch_once(&onceToken,^{_sharedInstance=[UrlSchemeManagernew];});return_sharedInstance;}这导致了两个不同的实例。如果我只是将它用于单元测试,这没问题。但是在集成测试中,当我为urlSchmeme

iphone - Grand Central Dispatch (GCD) 调度源标志

我最近不再使用kqueue至GCDdispatchsources监视文件更改。这取得了很好的效果,并导致了一个更简单的API。我记录了我的开关here.我唯一的问题是现在我无法访问我在kqueue中能够访问的事件的标志。例如,使用kqueue我能够检查文件是否被删除、重命名,或者它的属性是否被更改为以下内容:structkeventevent;...if(event.flag&EV_DELETE){printf("Filewasdeleted\n");}此API是否不适用于GCD,或者我是否需要为我想收听的每个标志设置调度源。或者最好使用kqueue,因为它可以更好地了解已发生的事件。

ios - 无法在 iOS 应用程序中使用 dispatch_source_t 在 GCD block 中运行计时器

我想在GCDblock中创建一个计时器(每2秒触发一次并调用一个方法)以将其用作后台任务。但正如我所见,计时器永远不会触发。这是我的代码:-(void)startMessaging{BOOLqueue=YES;dispatch_queue_t_queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);dispatch_source_ttimerSource=dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER,0,0,_queue);dispatch_source_