草庐IT

select_this

全部标签

JavaScript 单例模式和 'this'

看了很多关于单例模式的文章,并做了一些测试,我发现单例模式和这样的单例模式没有区别(http://jsfiddle.net/bhsQC/1/):varTheObject=function(){varinstance;functioninit(){varthat=this;varfoo=1;functionconsoleIt(){console.log(that,foo);}return{bar:function(){consoleIt()}};}return{getInstance:function(){if(!instance){instance=init();}returninst

javascript - 如何重新实现 'var that = this' 以使用 Object.prototype.bind() 保存范围引用?

在SecretsofJavascriptClosures,StuartLangridge提供了一段代码来演示闭包在.onclick回调中的常见用法,并解释如下:link.onclick=function(e){varnewa=document.createElement("a");varthat=this;document.body.appendChild(newa);newa.onclick=function(e){that.firstChild.nodeValue="reset";this.parentNode.removeChild(this);}}我最近偶然发现了KyleSim

javascript - 调用通过构造函数传入的函数时,我可以避免在 Typescript 中使用单词 "this"吗?

我有:classAdminHomeController{privateconfig1;//Itrieddifferentvariationsherebutnoneworkedpublicconfig2;//constructor(private$scope:IAdminHomeControllerScope){this.config=$scope.config;//{this.config.clear();};}此代码有效,this.config具有我需要的所有方法。但是有没有办法我可以删除对this的需要吗?我希望能够编写以下代码:configChanged=(clear)=>{co

javascript - 修改与 jQuery X-Editable 库一起使用时 Select2 下拉选择的输出

我一直在尝试使用X-Editablehttp://vitalets.github.io/x-editable/使用Select2https://select2.github.io/几个星期以来运气不佳。最初我试图从AJAX请求中加载数据,然后使用该库,但我只能看到旧代码是否应该适用于这两个库的旧版本。为了稍微简化一些事情,我现在决定单独加载我的数据,这样X-Editable和Select2只需处理一组已经可用的数据。我现在的问题是修改数据的显示。默认情况下,我对编辑字段的外观感到满意,它看起来像被选中的“标签”。当编辑完成并在初始页面加载时,它会将我选择的项目显示为逗号分隔的字符串。我

javascript - Angular : Selectively compile templates

我知道ng-non-bindable允许给定元素及其子元素不被编译为模板。它似乎被设计为根据需要在整个模板中穿插。有没有办法告诉Angular不要处理给定的元素,而是在其中“戳洞”并允许处理选定的子元素?例如,我很想能够做这样的事情:{{2+2}}{{2+2}}并让它输出:{{2+2}}4我知道ng-non-bindable甚至不允许处理ng-bindable,即使它存在。但是,是否存在允许像我所表达的那样处理模板的方法?更彻底地说,我理想的解决方案是在找到ng-bindable之前不会处理任何Angular,而不仅仅是大括号表达式。例如:{{n+2}}{{n+2}}会导致:{{n+2

javascript - bind(this) 不适用于 ajax 成功函数

我使用React和jQuery。这是我的代码的一部分。在挂载React组件之前,我执行ajax请求以了解用户是否已登录。应该在响应返回状态码200时设置状态。我是否错误地使用了bind(this)?componentWillMount:function(){$.ajax({url:"/is_signed_in",method:"GET",dataType:"json"}).success(function(response){this.setState({signedIn:response.signed_in,currentUser:$.parseJSON(response.curre

javascript - 在 jquery UI 对话框上使用 select2 (v 4.0) 时,如何让 allowClear 选项在使用远程数据源时起作用?

我正在使用select2dropdown并且刚刚升级到版本4。似乎损坏的一个功能(或者我做错了什么)是allowClear选项当您有远程数据源并且select2位于jqueryUI对话框上时如果您的数据源是本地的(没有ajax)或者没有涉及jqueryUI对话框,它工作正常,但是当我尝试在jqueryUI对话框上使用远程数据源时,我看到了问题。有趣的是,当设置allowClear=true时,“X”DOES会在我搜索并选择一个项目后显示在下拉框的右侧,但是当我单击它时,所有select2代码都会运行,但不会删除先前选择的值。我已经调试了select2.js代码,所有看起来应该被触发的代

javascript - select2 multiple 防止其他输入在输入时提交表单

我有一个带有简单输入和select2输入的表单,如下所示:http://codepen.io/anon/pen/QyBxwE在第一个输入获得焦点时按enter应该提交表单(在这种情况下,重定向到404页面)。出于某种原因,多个select2输入阻止了表单提交。如果我删除select2类或multiple属性,表单将正常运行。在Safari、Chrome和Firefox上的MacOSXYosemite上测试,它在所有浏览器上一致发生。(我正在使用jQuery2.1.3和select24.0.1) 最佳答案 表单的工作原理是,当您单击回

javascript - 如何使用 flask-wtf 在 html select 的 onChange 上传递参数

下面的flask代码创建了一个select..option下拉菜单:型号:classSelectForm(Form):country=SelectField('Country',choices=[('us','USA'),('gb','GreatBritain'),('ru','Russia')])flask应用:@app.route('/new')defnew():form=SelectForm()returnrender_template('new.html',form=form)html文件:{{render_field(form.country)}}定义render_field

javascript - this 在箭头函数中未定义

我试图在我的箭头函数中访问它:importmyObjectfrom'../myObjectPath';exportconstmyClass=Fluxxor.createStore({initialize(){this.list=[];this.id=null;},myOutsideFunction(variable1){//herethisinNOTundefinedmyObject.getMyList(this.id,(myList)=>{//herethisinundefinedthis.list=myList;}});)};但是在回调函数中的箭头函数中,this是未定义的!!我正