Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

15
Javascript减少对象数组
说我想对a.x中的每个元素求和arr。 arr = [{x:1},{x:2},{x:4}] arr.reduce(function(a,b){return a.x + b.x}) >> NaN 我有理由相信斧头在某些时候是不确定的。 以下工作正常 arr = [1,2,4] arr.reduce(function(a,b){return a + b}) >> 7 我在第一个示例中做错了什么?


15
检查是否使用jQuery加载了图片(没有错误)
我将JavaScript与jQuery库配合使用,以操作无序列表中包含的图像缩略图。加载映像后,它会做一件事;发生错误时,它会做其他事情。我正在使用jQuery load()和error()方法作为事件。在这些事件之后,我检查图像DOM元素的.complete,以确保在jQuery可以注册事件之前尚未加载图像。 它正常工作,除非在jQuery可以注册事件之前发生错误。我能想到的唯一解决方案是使用img onerror属性在全局某处(或其自身的节点上)存储“标志”,该标志表示失败,因此jQuery在检查.complete时可以检查该“存储/节点”。 有人有更好的解决方案吗? 编辑:加粗要点,并在下面添加了更多详细信息: 我正在检查图像是否完整(也称为已加载),然后在图像上添加加载和错误事件。这样,如果在注册事件之前加载了图像,我仍然会知道。如果在事件之后未加载图像,则事件将在事件发生时对其进行处理。问题是,我可以轻松检查图像是否已经加载,但是我不能确定是否发生错误。

14
Access-Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Headers
我正在尝试使用发布请求将文件发送到服务器,但是在发送请求时会导致错误: Access-Control-Allow-Headers不允许请求标头字段Content-Type。 所以我搜索了错误并添加了标题: $http.post($rootScope.URL, {params: arguments}, {headers: { "Access-Control-Allow-Origin" : "*", "Access-Control-Allow-Methods" : "GET,POST,PUT,DELETE,OPTIONS", "Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With" } 然后我得到错误: Access-Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Origin 所以我用谷歌搜索,唯一能找到的类似问题是半答案,然后关闭主题。我应该添加/删除哪些标题?


9
如何在循环中创建对象文字数组?
我需要创建这样的对象文字数组: var myColumnDefs = [ {key:"label", sortable:true, resizeable:true}, {key:"notes", sortable:true,resizeable:true},...... 在这样的循环中: for (var i = 0; i < oFullResponse.results.length; i++) { console.log(oFullResponse.results[i].label); } 的值key应results[i].label位于数组的每个元素中。


7
从字符串中删除非字母数字字符
我想将以下字符串转换为提供的输出。 Input: "\\test\red\bob\fred\new" Output: "testredbobfrednew" 我还没有发现,将处理特殊字符,如任何解决方案\r,\n,\b,等。 基本上,我只是想摆脱所有不是字母数字的东西。这是我尝试过的... Attempt 1: "\\test\red\bob\fred\new".replace(/[_\W]+/g, ""); Output 1: "testedobredew" Attempt 2: "\\test\red\bob\fred\new".replace(/['`~!@#$%^&*()_|+-=?;:'",.<>\{\}\[\]\\\/]/gi, ""); Output 2: "testedobred [newline] ew" Attempt 3: "\\test\red\bob\fred\new".replace(/[^a-zA-Z0-9]/, ""); Output 3: "testedobred [newline] ew" Attempt 4: "\\test\red\bob\fred\new".replace(/[^a-z0-9\s]/gi, ''); Output 4: "testedobred [newline] ew" 多步尝试 function cleanID(id) { id = id.toUpperCase(); id = …
224 javascript  regex 


10
没有哈希'#'的AngularJS路由
我正在学习AngularJS,有一件事让我很烦。 我用来$routeProvider为我的应用程序声明路由规则: $routeProvider.when('/test', { controller: TestCtrl, templateUrl: 'views/test.html' }) .otherwise({ redirectTo: '/test' }); 但是当我在浏览器中导航到我的应用程序时,我看到的app/#/test不是app/test。 所以我的问题是为什么AngularJS将此哈希添加#到url中?有可能避免它吗?

29
JavaScript图表库
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 有人会推荐一种特定的JavaScript图表库-特别是根本不使用Flash的图书馆吗?
223 javascript  charts 



19
可以使用innerHTML插入脚本吗?
我想一些脚本加载到使用页面innerHTML上<div>。脚本似乎已加载到DOM中,但从未执行(至少在Firefox和Chrome中)。将脚本插入时,是否可以执行脚本innerHTML? 样例代码: <!DOCTYPE html> <html> <body onload="document.getElementById('loader').innerHTML = '<script>alert(\'hi\')<\/script>'"> Shouldn't an alert saying 'hi' appear? <div id="loader"></div> </body> </html> 运行代码段隐藏结果展开摘要

7
event.returnValue已弃用。请改用标准event.preventDefault()
我有这个脚本: <script> $(document).ready(function () { $("#changeResumeStatus").click(function () { $.get("{% url 'main:changeResumeStatus' %}", function (data) { if (data['message'] == 'hidden') { $("#resumeStatus").text("скрыто"); } else { $("#resumeStatus").text("опубликовано"); } }, "json"); }); }); </script> 我在Google Chrome控制台中收到以下错误: event.returnValue已弃用。请改用标准event.preventDefault()。 我正在使用jQuery v1.10.2,并且#changeResumeStatus是<span>。 我的脚本怎么了?
222 javascript  jquery  ajax 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.