草庐IT

javascript - D3.js - 以编程方式在 Jasmine 中生成拖动事件

我有一个使用D3和Angular编写的折线图组件。它具有用于更改x轴比例的可拖动条。现在我正在尝试使用Karma/Jasmine测试组件。我在单元测试中无法触发拖动事件。鼠标悬停和单击等其他事件也可以正常触发。我认为这是导致问题的d3中“拖动”事件的综合实现。这是我用来触发拖动的代码(此类代码在测试html页面上触发正确的d3拖动事件,但在单元测试中失败)。varleftBar=element.find(".left-bar")[0];varevObjStart=document.createEvent("MouseEvents");evObjStart.initMouseEvent(

javascript - AngularJS : Should service's boolean method return promise that resolves to true/false, 或者被解决/拒绝?

promise的使用模式仍然让我感到困惑。例如,在Angular应用程序中,我有一个服务usersService,方法是emailExists(email)。显然,它向服务器请求检查给定的电子邮件是否已经存在。让方法emailExists(email)返回在正常操作中解析为true或false的promise对我来说感觉很自然.如果只是我们有一些意外的错误(比如,服务器返回500:内部服务器错误,那么promise应该被拒绝,但在正常操作中,它被解析为相应的bool值。然而,当我开始实现我的异步验证器指令(通过$asyncValidators)时,我看到它想要解决/拒绝promise。

javascript - react native + 终极版 : Why does Switch immediately turns back to false after being switched to true?

在iOSReactNative+Redux中,我使用了以下Switch组件(https://facebook.github.io/react-native/docs/switch.html)。它首先设置为关闭,但是当打开时,它会立即自行关闭。可能是什么问题?这是我的设置:触发的Action是:_handleSwitch(value){this.props.actions.triggerSwitch(value)}Action是:exportfunctiontriggerSwitch(value){return{type:TRIGGER_SWITCH,currentValue:value

javascript - hasOwnProperty 会从 for...in 循环中返回 false 吗?

如果我这样做:for(variinobj){if(obj.hasOwnProperty(i))console.log("Hasproperty:"+i);elseconsole.log("Doesn'thaveproperty:"+i);}obj.hasOwnProperty(i)会返回false吗?如果是,什么时候? 最佳答案 在循环中使用hasOwnProperty的想法是在遍历继承的属性时解析为false。这避免了DouglasCrockford所说的“深度挖掘”。示例来自https://developer.mozilla.o

事件处理程序中的 JavaScript 同步和关键部分

我有一个函数,它是websocket.onmessage的事件处理程序,现在由于服务器可以发送多条消息(一条接一条)并且每条消息都会触发该事件,并且由于函数block可能需要几秒钟(内部进行了大量渲染),可能会在第一个函数调用仍在运行时再次调用该函数。在某些情况下,我需要在此函数中使用关键block,以便第二次调用只会在第一次调用结束时启动关键部分,这被认为是在JavaScript中实现锁的“最佳实践”? 最佳答案 由于js是单线程的,所以不能真正做锁。好吧,你可以但你不应该。一个想法可能是保留状态变量。您的函数将在每个onmess

javascript - web speech api语音合成-获取语音列表

我在使用网络语音API时遇到了一个奇怪的问题。我已经设置了一些代码来说出一串文本——很少,它会用正常的声音说出来(MacOSX中听写和语音设置中的“Alex”)。但通常情况下,它会用“Albert”的声音说话。我正在查看此处列出的w3c网络语音API:https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#dfn-ttsgetvoices还有一个接口(interface)叫做SpeechSynthesisVoiceList{}我正在尝试访问此功能,但我不能。我如何访问此语音列表?我正在使用chromecanary,我已

javascript - Underscore.js,为什么 `isFunction` 使用 `|| false` ?

Underscore.js(repolinktodefinition)中isFunction(object)的可选覆盖,内容如下://Optimize`isFunction`ifappropriate.Workaroundsometypeofbugsinoldv8,//IE11(#1621),Safari8(#1929),andPhantomJS(#2236).varnodelist=root.document&&root.document.childNodes;if(typeof/./!='function'&&typeofInt8Array!='object'&&typeofnod

javascript - 如何提高 highcharts 图表创建和渲染的性能

我在本地有一个包含JSON格式数据的文件。我创建了一些PHP脚本来在通过AJAX调用时回显该文件的输出。数据文件的大小为59k。我按照highcharts的建议禁用动画和阴影。当我加载图表时,渲染需要非常非常长的时间。我已经粘贴了下面的脚本。有什么想法可以更快地呈现此图表吗?就目前而言,这是绝对不能接受的。echo_file.php输出如下所示:[{"name":"loess","data":[[1373241600000,3.49571041760408],[1373241660000,3.4844505982485],[1373241720000,3.47324293684199]

javascript - 启用右键单击 : <body oncontextmenu ="return false">

我有一个网页(我无法控制):我想启用右键单击,但我无法做到这一点。在保存的html中,当我删除此oncontextmenu然后它开始工作。我已经尝试了所有提到的here,但它对我不起作用。Hereis保存的网页副本。 最佳答案 尝试在webdev控制台中执行以下代码:window.addEventListener("contextmenu",function(e){e.stopPropagation()},true);body,html{width:100%;height:100%;}text

javascript - mocha with nodejs assert 挂起/超时为 assert(false) 而不是错误

我有这种Mocha测试:describe'sabah',→beforeEach→@sabahStrategy=_.filter(@strats,{name:'sabah2'})[0].stratit'articlelistshouldbepopulated',(done)→@timeout10000strat=new@sabahStrategy()articles=strat.getArticleStream('barlas')articles.take(2).toArray((result)→_.each(result,(articleList)→//Imaketheassertio