草庐IT

异步处理

全部标签

javascript - 在一段时间内禁用点击事件处理程序

我已经看过类似的问题,但提供的答案涉及按钮而不是div元素。当我单击带有idclick的div元素时,click事件处理程序被unbind()禁用并设置一个2秒的计时器。2秒后,单击事件处理程序应由bind()再次启用。问题是点击事件处理程序似乎没有得到“反弹”。我将文本附加到另一个div元素以检查单击事件处理程序是否处于事件状态。这是我的JSFiddle. 最佳答案 解决整个问题的另一种方法是不要为解除绑定(bind)和重新绑定(bind)而烦恼,只需使用“禁用”标志:$(document).ready(function(){va

javascript - 处理 Backbone 中不可保存的值

有没有标准的方法来处理Backbone中不可保存的值。例如MyModel=Backbone.extend(Backbone.Model,{initialize:function(){this.set({'inches':this.get('mm')/25});}})如果我在这个模型上调用save()它将抛出一个错误,因为没有与inches对应的数据库字段。我可以想出几种方法来解决这个问题,但我想知道是否有一种经过实践检验的方法通常最适合用于此问题?目前我的首选解决方案是扩展Backbone的toJSON方法并允许传递bool参数dontCleanup以允许它仍然返回所有模型的值(包括不

c# - 异步回发后如何保持对同一控件的关注?

我有3个文本框,一个在更新面板中,它每4秒刷新一次。在刷新期间,不在更新面板中的控件也会失去焦点。我想专注于这些控件。这是我的代码:User:Message:谁能帮帮我? 最佳答案 这是使用jQuery的@Darshan脚本的略微修改版本。我喜欢他的解决方案,因为这1个脚本将适用于所有UpdatePanel,因此您不必专门为每个UpdatePanel编写代码。我的修改是:使用jQuery执行空检查不污染全局命名空间编辑:Tab键与具有自动回传的文本框一起按预期工作。/*RetainelementfocusafterUpdatePan

javascript - 在事件处理程序中使用它

我试图在DOM级别3事件规范中的事件处理函数中找到this关键字的含义。根据我的实验,this指的是event.currentTarget对象。标准中是否提到了这种行为?根据“JavaScript权威指南”一书,this指的是似乎错误的事件目标。event.currentTarget似乎更符合逻辑,因为事件处理程序作为HTML元素对象的方法被调用。有人可以澄清一下吗?IncaseofbubblingIsee"this"changesandmeanstheevent.currentTarget. 最佳答案 确实,权威指南在那种情况下是

javascript - 为什么按键不处理删除键和退格键

我问这个不是因为我需要变通办法。我有一个工作正常,但我想知道为什么它不工作。这是Javascript中的错误(或JQuery,因为我使用的是JQuery.keypress处理程序)还是有特定的原因? 最佳答案 keypress事件设计用于处理用户键入的字符,而不是检测键盘事件,删除键和退格键不生成字符。一些浏览器稍微模糊了这条线,但一般原则是keyup和keydown事件在那里检测任何被按下的键并告诉你它是哪个键,同时keypress用于检测正在键入的实际字符。 关于javascript

javascript - 在 node.js 中使用异步 waterfall 时的 "err"参数

我正在尝试执行一系列函数,每个函数都将回调传递给下一个。现在它看起来像这样(请原谅任何小错误,我在发布时重写它!):functionfunc1(callback){callback(null,"stuff");}functionfunc2(input,callback){callback(null,"foo"+input);}async.waterfall([func1,func2],function(err,result){sys.puts(result);});我的第一个问题是我不确定如何优雅地启动这个函数,因为它不能接受输入。我最终会将该函数包装在本地函数中,但这仍然让我有些不安

javascript - NodeJS 和异步 hell

我刚遇到这种可怕的情况,我有一个字符串数组,每个字符串代表一个可能存在的文件(例如varfiles=['file1','file2','file3']。我需要遍历这些文件名并尝试查看它是否存在于当前目录中,如果存在,则停止循环并忘记其余的文件。所以基本上我想找到第一个存在的文件,然后回退如果没有找到硬编码消息。这是我目前拥有的:varfound=false;files.forEach(function(file){if(found)returnfalse;fs.readFileSync(path+file,function(err,data){if(err)return;found=t

javascript - Node.js 的回调函数都是异步的吗?

我正在努力学习Node.js,我在每个教程中听到的都是“Node是异步的并且没有阻塞!”我听说在常规浏览器中JavaScript只有某些东西,例如AJAX调用可以异步或非阻塞(使用回调)...Node.js也是这样吗,或者都是Node.js回调异步/非阻塞函数? 最佳答案 areallNode.jscallbackfunctionsmadeasynchronous/non-blocking?没有。只有I/O通常是异步的,但许多其他回调是同步的。始终检查文档。异步函数的例子:异步Filesystem访问(不过他们有没有回调的同步对象)

javascript - TypeScript 和 React - 一个用于多个输入字段的 onChange 处理程序

假设我有一个包含多个输入字段的表单。在普通的ES6/React中,我会创建一个方法,所有输入字段都会将它们的onChange处理程序指向该方法。像这样:handleChange(e){e.preventDefault();this.setState({[e.target.name]:e.target.value});}这在您有很多表单元素并且不必创建特定方法来处理每个元素的情况下很有帮助。这在TypeScript中可行吗?即使它不是类型安全的? 最佳答案 正如评论中的回答,您可以在JavaScript中执行的所有操作也是有效的Typ

javascript - 没有乱七八糟的回调的 JavaScript 异步编程

我想将异步函数转换为同步函数。functionfetch(){varresult='snap!';$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",functionmessyCallback(data){result=data;});returnresult;}document.write(fetch());​Seeinaction结果总是“啪!”,因为$.getJSON在fetch()完成后运行。我的第一个