草庐IT

异步处理

全部标签

javascript - 如何在 JSDoc 中记录事件处理程序?

假设我有这样一个类:functionmyClass(q){this.someFunction=function(e){console.log("Clickevent");};jQuery(q).click(this.someFunction);}有没有办法向JSDoc表明someFunction不仅仅是一个应该直接调用的函数,而是一个事件处理程序?我看到了@event标签,但如果我理解正确的话,这更多是为了记录我认为是事件的类中的函数(客户端代码也会注册,并且我的类会在需要时触发)而不是一个事件处理函数? 最佳答案 关键词是@lis

javascript - 真正的异步、非阻塞 javascript 不是不可能的吗?

所以,我在这里遗漏了什么吗?所有流行的现代浏览器中的javascript引擎(截至2011年)都是单线程。这意味着虽然EVENTS可以异步发生,但它们仍然排队(在“单个文件”中)以待执行。这意味着所有这些将外部javascript加载到HTML页面的技术,它们实际上只允许异步发生下载,但是下载代码的执行总是发生一个(函数)一次,一次一个文件。所以我在网上看到的其他“提示”使用setTimeout分解和执行初始化代码块,那将是虚假的、不正确的建议——计时器也是一个单文件队列,并且只按顺序执行。使用setTimeout你只是通过定时器导致乱序执行并允许浏览器中的其他事件(即鼠标点击或按键等

javascript - Node.js 异步函数*定义*

拜托,只是为了清理一下我脑子里的东西......我习惯于使用库中的异步函数进行编写,但我该如何编写自己的异步函数?为了说明我的问题,我编写了一个名为“MadMathz”的模块我知道以下是异步函数的示例用法://loadmodulevarmM=require('./MadMathz');//performafunctionmM.async_function_addthree(12,function(result){console.log(result)});//dosomethingstraightafterwardsconsole.log('Loggingthisstraightaft

javascript - 加载异步资源后运行内联脚本

我用优化器测试了我的页面,它建议我对我使用的所有CDN源使用async属性,例如:要运行我使用的任何脚本:(function(){})();我还在引用此类库的内联script标记中包含JavaScript代码。但是,当我如上所述添加async时,在以下脚本中出现错误:(function(){jQuery.foundation();ReactDOM.render(,document.querySelector('#app'));})();我也尝试过将async添加到此script标记中,但它仍然不起作用。我仍然收到错误消息,指出加载了async属性的库不存在。

javascript - 在 JavaScript 中处理浏览器关闭?

有没有办法从JavaScript捕获浏览器关闭事件?我不想在PageUnload事件或其他任何事件中执行此操作。它必须在单击浏览器关闭按钮时处理。这可能吗? 最佳答案 没有。您只有onbeforeunload事件,可用作原始javascript(jquery不包括此事件)。如果您想尝试一下,请尝试在此处发布答案,不要按“发布您的答案”并尝试关闭浏览器窗口。这是访问“关闭窗口”事件的最接近方式。 关于javascript-在JavaScript中处理浏览器关闭?,我们在StackOverf

javascript - 如何将 socket.io(在 nodejs 中)的事件处理程序绑定(bind)到我自己的范围?

我在我的nodejs服务器中使用“socket.io”。有没有办法在我的类/模块(在浏览器中)的范围内运行已注册的事件函数?...init:function(){this.socket=newio.Socket('localhost:3000');//connecttolocalhostpresentlythis.socket.on('connect',this.myConnect);},myConnect:function(){//"this.socket"and"this.f"areunknown//this.socket.send({});//this.f();},f:funct

javascript - 为什么 jQuery 无法将鼠标悬停处理程序附加到 Flash 对象?

出于某种原因,jQuery(1.6.2)无法将鼠标悬停处理程序附加到Flash对象。有趣的是,getElementById().onmouseover=...按预期工作。//fail$('#content-banner').mouseover(function(){alert(1)});//successdocument.getElementById("content-banner").onmouseover=function(evt){alert(3);};参见liveexampleatjsFiddle了解详情。是什么阻止了jQuery附加处理程序?更新一个快速的解决方法是按照Sha

javascript - 如何在客户端处理 SignalR 服务器异常?

错误处理程序在客户端是这样添加的:$.connection.hub.url="/signalr";$.connection.hub.logging=true;$.connection.hub.error(function(error){console.log('SignalrAdapter:'+error);});$.connection.hub.start().done(function(){me.onStartDone();});//...在服务器端是:hubConfiguration.EnableDetailedErrors=true;根据thedocs这应该足够了。在我抛出异常

javascript - 使用 JavaScript 的强大键盘快捷方式处理

使用JavaScript为Web应用程序创建全局键盘快捷键处理程序的最可靠方法是什么,即我应该处理哪些事件以及事件处理程序应该附加到什么?我想要类似Gmail中的系统,它既可以处理单键快捷方式,也可以处理带有修改键的快捷方式,例如Ctrl+B等。代码必须在IE6和现代浏览器中工作。我有可用的Prototype框架但没有jQuery,所以请不要回答特定于jQuery的问题! 最佳答案 我只是想再加入一个。我最近发布了一个名为Mousetrap的库。查看http://craig.is/killing/mice

javascript - 将多个参数与事件对象一起传递给事件处理程序

如何在不使用Function.prototype.bind的情况下将多个参数与事件对象一起传递给事件处理程序?事件处理程序中有一个闭包。下面的基本代码将不起作用,element.addEventListener("click",eventHandler(eventObj+arguments),false);functioneventHandler(eventObj+arguments){returnfunction(){};//aclosure}我不知道如何将事件对象和其他参数同时传递给事件处理程序。更新:我什至尝试过在addEventListener中使用匿名函数。这样做,似乎控件从