草庐IT

javascript - 在不同模块之间调解和共享数据

我只是想了解事件驱动的JS,所以请多多包涵。我的应用程序中有不同种类的模块。有些只是封装数据,有些则管理DOM的一部分。有些模块依赖于其他模块,有时一个模块依赖于多个其他模块的状态,但我不希望它们直接通信或将一个模块传递给另一个模块只是为了方便访问。我试图创建最简单的场景来说明我的问题(当然,实际的模块要复杂得多):我有一个只公开一些数据的数据模块:vardataModule={data:3};有一个configModule公开了用于显示该数据的修饰符:varconfigModule={factor:2};最后有一个displayModule组合并呈现来自其他两个模块的数据:vardi

javascript - 如何将 eventListener 添加到 JavaScript 中的对象,该对象将在操作对象时触发?

我有一个动态操作的复杂UI结构,假设我有一个ui_state对象,我在其中保存用户的最新UI状态,例如哪个选项卡可见,该选项卡内有什么等。例如:varui_states={tabs:[{name:"sometab",active:true,children:{...}},{name:"someothertab",children:{...}}]}我将它保存在html5localStorage上,当用户刷新网站时,它会重新打开相同的页面。每次UI更改时,此对象都会相应更改。在更改它之后我需要运行让我们说updateLocalStorage(),它运行良好。我的问题是关于这个流程,我可以为

javascript - 使用 onclick 调用函数或使用 .click 绑定(bind)事件哪个更好?

这个问题在这里已经有了答案:jQuery.click()vsonClick(18个答案)关闭9年前。假设我有一个div,我想在用户单击该div时运行特定代码。我可以通过两种方式实现这一目标。HTMLClickMeJavascript$(document).ready(function(){$('#clickme').click(function(){//Othercodeheredoingabc.});});第二种方法是调用一个函数,它确实是这样做的,但它是由一个函数调用的ClickMeJavascriptfunctionclickme(){//Othercodedoingabc.}我

javascript - jquery "this"事件处理程序的绑定(bind)问题(相当于原型(prototype)中的 bindAsEventListener)

在jquery中,事件hadler的绑定(bind)是事件生成DOM元素(this指向dom元素)。在原型(prototype)中更改事件处理程序的绑定(bind)可以使用bindAsEventListener功能;如何从事件处理程序访问实例和DOM元素?类似于HowcanIbindaneventhandlertoaninstanceinJQuery?functionCar(){this.km=0;$("#sprint").click(this.drive);//setupeventhandler}//eventhandler//initIneedtoaccessboththeclic

javascript - Event.keyCode 不适用于 'on input' - 未定义

目前我正在为项目开发一项功能,并且event.keyCode出现不适用于“输入时”触发器。我正在使用谷歌浏览器31和jQuery1.10.2。这是我在我的方法中尝试的:input.on('input',function(event){console.log("event.charCode:"+event.charCode);console.log("event.keyCode:"+event.keyCode);console.log("event.which:"+event.which);console.log("window.event?event.keyCode:event.whi

javascript - Phonegap 检测手机是否处于事件状态

我已经搜索了一段时间,但找不到任何适用于Android或IOS的Phonegap。如果有人知道如何或什至可能的话,那就太好了。有没有办法检查电话是否正在使用/事件,或者电话是否处于非事件/屏幕锁定等状态?谢谢 最佳答案 是的,您可以使用两个内置的phonegap事件来完成此操作:pause-一旦应用程序进入后台(即未激活时),就会触发此事件例子:document.addEventListener("pause",yourCallbackFunction,false);resume-当应用程序被调用回前台(即变为事件状态)时触发这个一

javascript - 检测 JavaScript 中的选项卡/窗口激活

当我在Firefox中激活标签时,Google+似乎会检查通知更新每次我激活它时它都会显示“0”,但在那之后的几秒钟内会变成一些新的通知。允许利用该事件的机制是什么?是否有特定的DOM事件?还是他们正在使用类似onmouseover处理程序的东西,并认为任何类型的事件都是选项卡激活的充分指示? 最佳答案 只是一个猜测,因为我没有所有相关的浏览器都可用于测试。如何在window上使用focus事件。每当用户单击某处时,都会调用它,但也会在切换选项卡时调用。要区分用户在页面上的操作和用户切换到页面,您可以检查事件的explicitOri

javascript - 使用 this/self 引用的 javascript 闭包会导致内存泄漏吗?

根据我对内存泄漏的理解,在闭包中引用范围外的var会导致内存泄漏。但创建“that”var以保留“this”引用并在闭包中使用它也是一种常见的做法,尤其是对于事件。那么,做这样的事情有什么用:SomeObject.prototype.createImage=function(){varthat=this,someImage=newImage();someImage.src='someImage.png';someImage.onload=function(){that.callbackImage(this);}};这不会给项目增加一点漏洞吗? 最佳答案

javascript - 有没有办法判断元素是否已完成 CSS3 过渡?

我正在寻找事件、回调或其他方式来判断CSS3转换何时完成。这可能吗? 最佳答案 使用transitionend事件。请注意,必须添加特定于vendor的前缀。 关于javascript-有没有办法判断元素是否已完成CSS3过渡?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9995642/

javascript - Node.js 事件发射器 : How to bind a class context to the event listener and then remove this listener

有没有办法在事件监听器方法中访问类上下文并有可能删除监听器?示例1:import{EventEmitter}from"events";exportdefaultclassEventsExample1{privateemitter:EventEmitter;constructor(privatetext:string){this.emitter=newEventEmitter();this.emitter.addListener("test",this.handleTestEvent);this.emitter.emit("test");}publicdispose(){this.emi