Tag: JavaScript

jquery链接如何工作?

我不是问什么是链接的适当的语法,我知道它可能是这样的: $('myDiv').removeClass('off').addClass('on'); 不过我真的很好奇,理解它的内部工作,据我所知,链接是其他着名框架的优势之一,但这个我们像一个像我这样的新手程序员的抽象,我肯定有人出来那里可以给我一个解释,让我了解如何链接工程。 谢谢!

JavaScript“new Array(n)”和“Array.prototype.map”怪异

我已经在Firefox-3.5.7 / Firebug-1.5.3和Firefox-3.6.16 / Firebug-1.6.2中观察到了这一点 当我激发Firebug时: >>> x = new Array(3) [undefined, undefined, undefined] >>> y = [undefined, undefined, undefined] [undefined, undefined, undefined] >>> x.constructor == y.constructor true >>> x.map(function(){ return 0; }) [undefined, undefined, undefined] >>> y.map(function(){ return 0; }) [0, 0, 0] 这里发生了什么? 这是一个错误,或者我误解如何使用new Array(3) ?

只检测伪元素上的点击事件

我的代码是: p { position: relative; background-color: blue; } p:before { content: ''; position: absolute; left:100%; width: 10px; height: 100%; background-color: red; } 请看这个小提琴: http : //jsfiddle.net/ZWw3Z/5/ 我只想在伪元素(红色位)上触发一个点击事件。 也就是说,我不希望在蓝色位上触发点击事件。

在JavaScript中使用引号

我从数据库中输出数据(这个数据并不是公开的,但是公司的用户可以进入,也就是说,我并不担心XSS) 。 我试图输出这样的标签: <a href="" onclick="DoEdit('DESCRIPTION');">Click Me</a> 描述实际上是数据库中的一个值,就像这样: Prelim Assess "Mini" Report 我已经尝试用“\”replace,但无论我尝试什么,Firefox都会在评估之后的空格后断开我的JavaScript调用,并导致各种问题。 我必须承认明显的答案,但是对于我的生活,我无法弄清楚。 任何人都在意指出我的白痴? 这里是整个HTML页面(它最终将成为一个ASP.NET页面,但为了解决这个问题,我拿出了除了问题代码之外的所有东西) <html> <body> <a href="#" onclick="DoEdit('Preliminary Assessment \"Mini\"'); return false;">edit</a> </body> </html>

eval()和new Function()是一样的吗?

这两个function是在幕后做同样的事情吗? (在单个语句函数中) var evaluate = function(string) { return eval('(' + string + ')'); } var func = function(string) { return (new Function( 'return (' + string + ')' )()); } console.log(evaluate('2 + 1')); console.log(func('2 + 1'));

在Javascript中,为什么“this”运算符不一致?

在JavaScript中,“this”运算符可以在不同情况下引用不同的东西。 通常在JavaScript“对象”内的方法中,它指的是当前对象。 但是当作为callback使用时,它将成为对调用对象的引用。 我发现这会导致代码中的问题,因为如果你在一个JavaScript对象中使用一个方法作为callback函数,你不能判断“this”是指当前的“object”,还是“this”是指调用对象。 有人可以澄清如何解决这个问题的使用和最佳做法? function TestObject() { TestObject.prototype.firstMethod = function(){ this.callback(); YAHOO.util.Connect.asyncRequest(method, uri, callBack); } TestObject.prototype.callBack = function(o){ // do something with "this" //when method is called directly, "this" resolves to the current object //when invoked by the asyncRequest callback, "this" is not the current object //what design patterns can make this consistent? this.secondMethod(); […]

你怎么用Javascript添加CSS?

如何通过使用Javascript来添加CSS规则(例如strong { color: red } )?

canvas.toDataURL()SecurityError

所以我使用谷歌地图,我得到的图片,所以它看起来像这样 <img id="staticMap" src="http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600×300&maptype=roadmap &markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318 &markers=color:red%7Ccolor:red%7Clabel:C%7C40.718217,-73.998284&sensor=false"> 我需要保存它。 我发现这个: function getBase64FromImageUrl(URL) { var img = new Image(); img.src = URL; img.onload = function() { var canvas = document.createElement("canvas"); canvas.width = this.width; canvas.height = this.height; var ctx = canvas.getContext("2d"); ctx.drawImage(this, 0, 0); var dataURL = canvas.toDataURL("image/png"); alert(dataURL.replace(/^data:image\/(png|jpg);base64,/, "")); }; } 但是我得到这个问题: Uncaught SecurityError:无法执行“HTMLCanvasElement”上的“toDataURL”:受污染的canvas可能无法导出。 我寻找修复。 我在这里find了一个示例如何使用CORS,但我仍然不能将这两个代码绑在一起,使其工作。 也许我做错了,有一个更简单的方法来做到这一点? 我试图保存这张照片,以便我可以将数据传输到我的服务器。 […]

加载页面时运行函数

我想在页面加载时运行一个函数,但是我不想在body标签中使用它。 我有一个脚本运行,如果我在身体初始化 – 就像这样: function codeAddress() { code….. } <body onLoad="codeAddress()"> 但是我想运行它没有onLoad="codeAddress()"身体,我已经尝试了很多东西,例如: window.onload = codeAddress; 但它不工作? 那么如何在页面加载的时候运行呢?

什么是最低有效的JSON?

我仔细阅读了JSON描述http://json.org/,但我不知道我知道简单问题的答案。 什么string是最低可能有效的JSON? "string"是string有效的JSON? 42是简单的数字有效的JSON? true是一个有效的JSON的布尔值? {}是一个有效的JSON空对象? []是空数组有效的JSON?