草庐IT

属性注入

全部标签

javascript - Sinon - stub 模块功能并在没有依赖注入(inject)的情况下对其进行测试

我有一个代理模块,它将函数调用转发给服务。当调用此代理模块中的函数时,我想测试是否调用了服务函数。这是代理模块:constpayService=require('../services/pay')constwalletService=require('../services/wallet')constentity={chargeCard:payService.payByCardToken,//...someotherfn}module.exports=entity基于thisexample和thisresponse,我试图stub所需的模块“payService”:constexpec

javascript - 将 SVG 'd' 属性正确拆分为标记的正则表达式是什么?

我正在尝试将svg文件中路径标记上的d属性拆分为标记。这个相对简单:d="M2-12C515211927-2C1712-34057"tokens=d.split(/[\s,]/)但这也是一个有效的d属性:d="M2-12C5,15,21,19,27-2C17,12-3,40,5,7"棘手的部分是字母和数字不再分隔,负数仅使用负号作为分隔符。如何创建处理此问题的正则表达式?规则似乎是:在有空格或逗号的地方拆分从字母中拆分数字(并保留“-”与数字)我知道我可以使用环视,例如:tokens=pathdef.split(/(?我在构建一个正则表达式时遇到问题,该正则表达式也在减号上拆分并使减号

javascript - 在 Shiny 中使用 JavaScript 获取呈现的 UI 中元素的属性

我正在尝试获取或更改Shiny中Javascript元素的属性。所以在下面的例子中,我想在使用Javascript渲染时直接获取iframe的宽度。我知道我可以设置iframe的宽度,但这不是目标。我还希望能够获得宽度以外的其他属性,例如iframe的frameBorder属性。Here它说“为x触发的最后一个事件是shiny:value”,所以我假设绑定(bind)到它会起作用:library(shiny)jsCode但是,我们可以看到alert已经在iframe实际呈现之前触发(?)所以我的问题是;如何在渲染时直接用Javascript获取iframe的宽度(或任何其他属性,例如f

javascript - jQuery - 节点属性更改时的事件

我有一个带有外部javascript库和我自己的额外代码的网页。外部库无法更改。它操作dom元素,添加新元素,更改属性(例如src在某些节点上,等等)。我正在使用jQuery。当节点的属性值发生变化时,是否会触发任何事件处理程序?即无论如何我可以检测到(在jQuery中)当src时的被改变(被别人?) 最佳答案 你可以去找jQuerywatchplugin检测属性的变化。也看看这篇文章:http://darcyclarke.me/development/detect-attribute-changes-with-jquery/

javascript - Backbone js模型依赖注入(inject)

将多个模型“依赖注入(inject)”到Backbone中initialized()的View中是否可以接受?例如:varmyView=newMyView({model:{category:categoryModel,name:nameModel,tag:tagModel}}) 最佳答案 当然可以接受!使用模型和View有一些常见的做法——最值得注意的是,人们通常将Backbone模型传递给View。但是,对于View的model应该或不应该是什么没有规则。真正的关键是您的团队(如果有的话)了解您在做什么以及为什么这样做。如果您要在

javascript - 在 Javascript 中添加属性

如何在不使用jQuery的情况下用Java脚本编写$('label.someClass').attr('valid',true);? 最佳答案 Array.prototype.forEach.call(document.querySelectorAll('label.someClass'),function(label){label.setAttribute('someAttribute','someValue');});这意味着浏览器支持ES5。.querySelectorAll的替代方案也可以是.getElementsByCla

javascript - 在通过 AJAX 加载的 DOM 中运行动态注入(inject)的 javascript(尝试使用 history.js 对网站进行 ajax 化)

我有一个Web应用程序,它基本上具有页眉、页脚和正文View。我正在使用history.js库和HTML5pushstate对网站进行ajax化,但我遇到的问题之一是在将javascript插入DOM时让嵌入式javascript运行。几乎所有我的javascript都包含在jQuery(function(){...})(文档就绪加载器)有人知道处理这个问题的好策略吗?谢谢! 最佳答案 如果我理解您的意思,您的“页面”只是您正在动态加载的HTML的容器。在该HTML中,您有当前不执行的JavaScript脚本block。那是对的吗?

javascript - 依赖注入(inject)与托管依赖与全局对象

我在Javascript+BackboneJS(一个MVC框架)+RequireJS框架中工作,但这个问题有点面向对象。首先让我解释一下,在Backbone中,您的View是传统View和Controller的混合体,而您的HTML模板是传统的MVCView我已经为此绞尽脑汁一段时间了,我不确定正确/务实的方法应该是什么。我有一个用户对象,其中包含许多代码所依赖的用户首选项(例如单位系统、语言选择等)。我的一些View在不使用模板的情况下完成大部分工作(通过使用第3方库,如映射和图形库),因此它们依赖于用户对象来处理单位转换,因为例子。我目前正在使用RequireJS来管理该依赖关系,

javascript - 在 FabricJS 中,更改图像元素的 src 会更改该对象的所有属性

在Fabric.jsCanvas中,我试图将图像对象的src替换为高分辨率图像,以便在使用canvas.toDataURLWithMultiplier时保持图像质量。当我更改图像对象的src时,它的所有属性也会更改。图像对象会自动缩放到不同的大小,并且所有状态属性都会更改。这是从版本0.9.15开始发生的。当我使用0.8.32版本时,它可以工作。0.8.32版本没有这个问题。代码如下:ChangeImagecanvas=newfabric.Canvas('canvas');fabric.Image.fromURL("http://timeplusq.com/dakshin/clip03

javascript - 试图将 javascript 注入(inject)我的页面

由于过于复杂的原因现在无法进入,我有一个ajax调用返回一些我想注入(inject)到我的页面中的动态创建的Javascript。以下代码适用于Chrome,但不适用于IE:varnode=document.getElementsByTagName("head")[0]||document.body;if(node){varscript=document.createElement("script");script.type="text/javascript";//script.innerHTML=json.javascript;vartextnode=document.createT