草庐IT

能不能

全部标签

javascript - 为什么这个闭包不能访问 'this' 关键字? -jQuery

我是闭包(和一般的Javscript)的初学者,我找不到关于这段代码中发生的事情的令人满意的解释:functionmyObject(){this.myHello="hello";this.myMethod=do_stuff;}functiondo_stuff(){varmyThis=this;$.get('http://example.com',function(){alert(this.myHello);alert(myThis.myHello);});}varobj=newmyObject;obj.myMethod();它会提示“undefined”然后是“hello”。显然这不应

javascript - innerHTML 不能被信任 : Does not always execute synchronously

要查看实际问题,请参阅thisjsbin.单击按钮会触发buttonHandler(),如下所示:functionbuttonHandler(){varelm=document.getElementById("progress");elm.innerHTML="thinking";longPrimeCalc();}您可能希望此代码将div的文本更改为“thinking”,然后运行​​longPrimeCalc(),这是一个需要几秒钟才能完成的算术函数。然而,事实并非如此。相反,“longPrimeCalc”先完成,然后在运行完成后将文本更新为“thinking”,就好像两行代码的顺序颠

javascript - 为什么我不能访问带有单个点的整数的属性?

如果我试着写3.toFixed(5)语法错误。使用双点、放入空格、将三个点放在括号中或使用方括号符号可以使其正常工作。3..toFixed(5)3.toFixed(5)(3).toFixed(5)3["toFixed"](5)为什么单点符号不起作用,我应该使用这些替代方法中的哪一个? 最佳答案 句点是数字的一部分,因此代码将被解释为:(3.)toFixed(5)这自然会产生语法错误,因为您不能立即在数字后面加上标识符。任何使句点不被解释为数字的一部分的方法都可行。我认为最清楚的方法是在数字两边加上括号:(3).toFixed(5)

javascript - 为什么不能在 $(this) 上调用 outerHTML?

当你想得到HTML对于整个DOM元素(包括包装器),您可以执行以下操作(如here所述):$('#myElementId')[0].outerHTML但是您不能做的是在$(this)内部调用outerHTML,例如点击监听器或选择器函数主体范围:$(this).outerHTML//Doesn'tcompleteinIntelliSense,returnsundefinedinbrowser或$(this)[0].outerHTML//Correction,thisDOESwork,butitdoesn'tcompleteinIntelliSense因为在这些情况下IntelliSen

javascript 不能正确地将 angular ui datepicker 日期转换为 UTC

我在我的项目中使用angularuidatepicker(asp.netwebapi+angularjs)。一切正常,但是当我尝试将日期保存到Db时,它没有正确地将其转换为UTC格式,并且substructs1天(实际上是几个小时,但它也会影响一天)。例如,当我在日期选择器中选择01/11/2014时:Angularjsobject:SatNov01201400:00:00GMT+0200(FLEStandardTime)Inrequest:2014-10-31T22:00:00.000ZInasp.netapicontroller:{31-Oct-1410:00:00PM}日期选择器

javascript - jQuery 偏移顶部不能正常工作

我正在尝试创建一个脚本,通过鼠标在元素中绘制一些东西,我正在使用Raphaeljs这样做。为了正确绘图,我需要找到top和left的‍input‍‍元素。我正在使用varoffset=$("#input").offset();得到left和top.但是top值不正确。这是10px低于‍‍真实top距离。我认为10px也许改变不同的分辨率然后我不能添加10px正常然后我想知道如何解决这个问题!我上传了我的测试here. 最佳答案 jQuery.offset()函数有thislimitation:Note:jQuerydoesnotsu

javascript - 为什么我不能使用 onClick 在 jQuery $(document).ready 函数中执行函数?

我是JavaScript和jQuery的新手。我想点击一个按钮并执行一个js函数。(对于这个例子,它只是一个警报,但它实际上是一个ajax函数。)出现第一个警报,但在我单击按钮后,我再也看不到第二个(“做了”)警报。看起来JavaScript认为在单击按钮时没有定义doIt()函数。相关代码如下:$(document).ready(function(){alert('ready');functiondoIt(){alert('didit');};}) 最佳答案 这是因为该函数不在全局上下文中,而您的onclick=""正在寻找它。您

javascript - 不能在 javascript 中使用 "download"作为函数名

我对这个小片段有疑问:functiondownload(){alert('Hi');}Test一旦我在Chrome14.0中点击链接,我会得到一个UncaughtTypeError:stringisnotafunction在Firefox和IE中它工作得很好。我通过重命名函数解决了这个问题,但我仍然很好奇Chrome中的“下载”是什么。据我所知,它不是保留关键字,它可能是什么? 最佳答案 元素有一个downloadHTML5中的属性说明here,默认值为""(空字符串)。这意味着download===this.download在on

javascript - jQuery 和 AngularJS 不能一起工作

我正在使用RequireJS和Angular,但它们在我的设置中没有协同工作。当jQuery版本为1.7.2时一切正常。但是我想使用jQuery1.8.1和jQueryUI和Angular应用程序甚至无法用它初始化我的主模块。问题是:区分大小写的变量:jQuery和jquery。在jquery1.8.1源代码中,最后他们定义了window.jQuery。在早期版本1.7.2中定义了window.jquery。因为我想在我的应用程序中使用jQueryUI,所以包含文件jquery-ui-1.8.23.custom.min.js。包含它之后,我得到了“jQuery”未定义的错误。所以,我决

javascript - 为什么 OR 操作 "||"不能替换这段 JavaScript 代码中的三元运算符 "? :"?

以下代码在浏览器中运行:varevent=event||window.event;vareTarget=event.target||event.srcElement;vareTargetId=eTarget.id;当我把它改成vareTargetId=event.target?event.target.id:event.srcElement.id;它也有效。当我将代码更改为vareTargetId=event.target.id||event.srcElement.id;它在IE678中不起作用。我收到以下错误:SCRIPT5007:Objectexpected.为什么会这样?