草庐IT

异步处理

全部标签

javascript - jQuery:如何将事件处理程序添加到动态添加的 HTML 元素?

我有以下代码:$(document).ready(function({$(".click").click(function(){alert('TheButtonWasClicked!');});}));这工作正常。但是如果我将具有相同类的元素添加到网页,如下所示:$('#clicked').click(function(){$("#area").append("Clickme");});那么我之前添加到.click类的事件处理程序将不适用于这个新元素。向动态添加的元素添加事件处理程序的最佳方式是什么? 最佳答案 更新我发布这个答案已

javascript - 如何使用 Node.js 在 JavaScript 模块文件之间使用事件处理程序?

我目前正在使用socket.io来发出和监听客户端JavaScript文件和Node.js服务器文件之间的事件,但我希望能够发出和监听Node服务器和它的模块之间的事件。我的想法是它看起来像这样:Node服务器:varmodule1=require('./module1');//Somecodetolaunchandruntheservermodule1.emit('eventToModule');module1.emit('moduleResponse',function(moduleVariable){//serveractionbasedonmoduleresponse}模块文件

javascript - 如何使用 jQuery/javascript 将事件处理限制为每 X 秒一次?

对于快速触发的keypress事件,我想将事件的处理限制为每X秒最多一次。我已经在使用jQuery进行事件处理,所以基于jQuery的解决方案是首选,尽管vanillaJavascript也很好。Thisjsfiddle显示按键快速触发,对操作没有任何限制Thisjsfiddle使用setTimeout()在vanillaJS中将处理限制为每0.5秒一次我的问题是jQuery是否有内置的方法来执行此操作?我在.on()docs中没有看到任何内容如果不是,是否有比我在secondjsfiddleexample中使用的更好的模式在vanillaJS中执行此操作??

javascript - AJAX为什么叫异步?

AJAX为什么叫异步?它是如何完成与服务器的异步通信的? 最佳答案 它是异步的,因为它不会锁定浏览器。如果您触发Ajax请求,用户仍然可以在请求等待响应时工作。当服务器返回响应时,将运行一个回调来处理它。如果需要,您可以使XMLHttpRequest同步,如果这样做,浏览器会在请求未完成时锁定(因此大多数情况下这是不合适的) 关于javascript-AJAX为什么叫异步?,我们在StackOverflow上找到一个类似的问题: https://stackov

javascript - 在 Adob​​e InDesign CS5 中处理文本框中的文本

如何在AdobeInDesignCS5中对文本框中的文本进行调整大小操作?主要目标是将每一行的最后一个单词分开,以实现自定义连字之类的功能。是否可以使用JavaScript(或ExtendScript?)?谢谢。更新我尝试在评论中描述我的问题我需要一个关于ExtendScript的示例,它会找到文本框尺寸并根据尺寸将文本连字符,然后我想在文本框调整大小时创建一个事件,这会在之后做同样的事情每次调整大小。 最佳答案 您可能可以编写脚本来执行您想要的操作,但该功能已内置于InDesign中。如果我对您的问题的理解正确,那是InDesig

javascript - 在 ("message"上定义 Socket.io 的最有效方法)处理程序

Socket.io的例子都遵循这个模式io.sockets.on("connection",function(mySocket){mySocket.on("mymessage",function(myData){...});});在我看来,这将为每个连接创建一个新的回调函数。假设每个套接字都以相同的方式响应消息,像这样为所有套接字定义一次处理程序是否会更节省内存:functionmyMessageHandler(data){...}io.sockets.on("connection",function(mySocket){mySocket.on("mymessage",myMessag

javascript - KendoUI 数据属性事件处理程序和 'this' 范围

似乎kendo的unobtrusive-javascript风格的事件调用在我的方法上下文中打破了this。假设我有一个对象Foo,实例化为bar=newFoo()functionFoo(){};Foo.prototype.name="Herring";Foo.prototype.doSomething=function(e){alert(this.name);};bar=newFoo();并使用例如数据点击附加事件ClickMebar的对象上下文被替换(不知道为什么,因为我们有方便的element容器。)所以this.name是未定义。我在对象构造函数中尝试了旧的varself=th

javascript - 如何通过构造函数异步调用注入(inject)服务,Angular 2

这就是问题所在:我有一个在构造函数中发出HTTP请求的服务:constructor(publichttp:Http,publicgeolocation:Geolocation){this.http=http;this.geolocation=geolocation;//Httprequest...thiswillsetvariableforecastoftheclasswhencomplete.this.getForecast(16);}然后我将该服务注入(inject)到这样的组件中:constructor(publicconnector:ApiConnector){this.for

javascript - Angular - 如何在组件级别实现异常处理

在Angular(Angular4、5)内部工作时,如果组件引发错误(TypeError或null或未定义错误等),整个应用程序将继续中断。我们如何处理这个问题,以捕获组件级别的错误并可能显示后备UI,就像React16使用ErrorBoundaries一样. 最佳答案 我会通过在组件级别处理错误来处理它,并提供一个服务来监听在组件或服务级别发生的任何错误。例如:从服务抛出错误捕获组件中的错误处理错误,处理错误并将包含详细信息的错误事件发送到ErrorService。您可以拥有一个应用级组件“errorBannerComponent

javascript - 处理 http 302 重定向响应

我知道http302响应由浏览器直接处理,因此您无法从源代码访问任何请求属性。但我想知道是否有任何方法可以拦截302重定向响应。让我解释一下:我的前端(Angular)向A发出一个http请求(我拦截传出请求)A响应302Location:B我的前端拦截了带有空字段的302响应,然后转到B这里我想拦截来自B的响应这是我的Angularhttp拦截器代码:@Injectable()exportclassCasInterceptorimplementsHttpInterceptor{intercept(req:HttpRequest,next:HttpHandler):Observable