草庐IT

myNameSpace

全部标签

JQuery 事件模型和防止重复处理程序

我想再次使用$("divid").load(...)将包含自己脚本的页面加载到div中。我面临的问题与事件有关。假设我们从父页面触发(“猴子”),在加载的页面上我们绑定(bind)(“猴子”)并执行警报(“猴子绑定(bind)”)。如果多次调用相同的加载方法,则多次调用绑定(bind)。现在我可以在绑定(bind)之前取消绑定(bind),或者在绑定(bind)之前检查处理程序的数量然后不绑定(bind)它以防止这种情况发生。如果我以后想在另一个“子页面”(加载到div中的页面)中绑定(bind)到该触发器,这两个选项都不可扩展。我理想情况下想要做的是检查我要添加的处理程序是否已经存在

javascript - 如何正确设置 JavaScript 命名空间和类?

似乎有很多方法可以设置JavaScript应用程序,所以很难确定哪一种是正确的或最好的。以下技术或更好的方法有什么不同吗?MyNamespace.MyClass={someProperty:5,anotherProperty:false,init:function(){//doinitialization},someFunction:function(){//dosomething}};$(function(){MyNamespace.MyClass.init();});另一种方式:MyNamespace.MyClass=(function(){varsomeProperty=5;va

javascript - 如何正确设置 JavaScript 命名空间和类?

似乎有很多方法可以设置JavaScript应用程序,所以很难确定哪一种是正确的或最好的。以下技术或更好的方法有什么不同吗?MyNamespace.MyClass={someProperty:5,anotherProperty:false,init:function(){//doinitialization},someFunction:function(){//dosomething}};$(function(){MyNamespace.MyClass.init();});另一种方式:MyNamespace.MyClass=(function(){varsomeProperty=5;va

javascript - 在 Javascript 中模拟 window.location.href

我对一个使用window.location.href的函数进行了一些单元测试——不太理想,我宁愿将其传入,但在实现中是不可能的。我只是想知道是否可以在不实际导致我的测试运行程序页面实际转到URL的情况下模拟这个值。window.location.href="http://www.website.com?varName=foo";expect(actions.paramToVar(test_Data)).toEqual("bar");我将jasmine用于我的单元测试框架。 最佳答案 最好的方法是在某处创建一个辅助函数,然后模拟它:v

javascript - 在 Javascript 中模拟 window.location.href

我对一个使用window.location.href的函数进行了一些单元测试——不太理想,我宁愿将其传入,但在实现中是不可能的。我只是想知道是否可以在不实际导致我的测试运行程序页面实际转到URL的情况下模拟这个值。window.location.href="http://www.website.com?varName=foo";expect(actions.paramToVar(test_Data)).toEqual("bar");我将jasmine用于我的单元测试框架。 最佳答案 最好的方法是在某处创建一个辅助函数,然后模拟它:v

javascript - 如何在 jQuery 中存储全局值(不一定是全局变量)?

目前,我正在处理一个使用大量JavaScript、jQuery、Microsoft客户端JavaScript和其他库的旧网页。底线-我不能从头开始重写整个页面,因为业务无法证明它的合理性。所以……就是这样。无论如何,我需要用一个变量污染(我真的没试过)全局命名空间。我在考虑三个选项-只需使用普通的JavaScript声明存储/检索它-varx=0;使用jQuery在DOM标记中存储/检索值-$("body").data("x",0);使用隐藏的表单字段,并使用jQuery设置/检索值-$("whatever").data("x",0);有没有更好的方法?我查看了现有的一堆代码,我不相信

javascript - 如何在 jQuery 中存储全局值(不一定是全局变量)?

目前,我正在处理一个使用大量JavaScript、jQuery、Microsoft客户端JavaScript和其他库的旧网页。底线-我不能从头开始重写整个页面,因为业务无法证明它的合理性。所以……就是这样。无论如何,我需要用一个变量污染(我真的没试过)全局命名空间。我在考虑三个选项-只需使用普通的JavaScript声明存储/检索它-varx=0;使用jQuery在DOM标记中存储/检索值-$("body").data("x",0);使用隐藏的表单字段,并使用jQuery设置/检索值-$("whatever").data("x",0);有没有更好的方法?我查看了现有的一堆代码,我不相信

javascript - 这种定义JS对象的方式有什么用吗?

我正在维护一些遗留代码,我注意到使用了以下定义对象的模式:varMyObject={};(function(root){root.myFunction=function(foo){//dosomething};})(MyObject);这样做有什么目的吗?是否等同于只做下面的事情?varMyObject={myFunction:function(foo){//dosomething};};我不打算开始一项神圣的探索,根据我的喜好重构整个代码库,但我真的很想了解这种迂回定义对象的方式背后的原因。谢谢! 最佳答案 它叫做模块模式http

javascript - 这种定义JS对象的方式有什么用吗?

我正在维护一些遗留代码,我注意到使用了以下定义对象的模式:varMyObject={};(function(root){root.myFunction=function(foo){//dosomething};})(MyObject);这样做有什么目的吗?是否等同于只做下面的事情?varMyObject={myFunction:function(foo){//dosomething};};我不打算开始一项神圣的探索,根据我的喜好重构整个代码库,但我真的很想了解这种迂回定义对象的方式背后的原因。谢谢! 最佳答案 它叫做模块模式http

go - 在 Goland 中导入一个 go 项目

我正在尝试将golandide用于我的go项目。我的项目目录结构是这样的/Users/me/workspace/src/github.com/mynamespace/myproject现在myproject目录包含一个glide.yaml文件,当我这样做时,它会下载vendor文件夹中的所有依赖项glideinstall所以vendor路径将是/Users/me/workspace/src/github.com/mynamespace/myproject/vendor现在我在GoLandIDE中打开了项目。但是,来源有一堆导入语句,例如import"github.com/mynames