Questions tagged «javascript»

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


19
异步加载脚本
我正在使用JQuery的几个插件,自定义窗口小部件和其他一些库。结果,我有几个.js和.css文件。我需要为网站创建一个加载器,因为加载需要一些时间。如果可以在导入所有内容之前显示加载程序,那就太好了: <script type="text/javascript" src="js/jquery-1.6.2.min.js"></script> <script type="text/javascript" src="js/myFunctions.js"></script> <link type="text/css" href="css/main.css" rel="stylesheet" /> ... .... etc 我找到了一些教程,这些教程使我能够异步导入JavaScript库。例如,我可以做类似的事情: (function () { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'js/jquery-ui-1.8.16.custom.min.js'; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); })(); 由于某种原因,当我对所有文件执行相同操作时,页面将无法正常工作。我已经尝试了很长时间,试图找到问题所在,但我只是找不到。首先,我认为这可能是因为某些javascript函数依赖于其他javascript函数。但是当我完成下一个任务时,我使用超时功能以正确的顺序加载了它们,然后继续执行下一个任务,页面仍然表现得很奇怪。例如,我无法单击链接等...动画仍然可以工作.. 无论如何 这就是我一直在想的...我认为浏览器具有缓存,这就是为什么第一次和第二次快速加载页面需要较长时间的原因。所以我想做的是用一个异步加载所有这些文件的页面替换index.html页面。当ajax完成加载后,所有这些文件都将重定向到我计划使用的页面。使用该页面时,加载时间不会太长,因为文件应该包含在浏览器的缓存中。在我的索引页面上(异步加载.js和.css文件的页面),我不在乎出现错误。我将只显示一个加载器,并在完成后重定向页面... 这个想法是一个好的选择吗?还是应该继续尝试实现异步方法? 编辑 我加载所有异步数据的方式如下: importScripts(); function importScripts() { //import: …

5
Gulp错误:监视任务必须是一个函数
这是我的gulpfile: // Modules & Plugins var gulp = require('gulp'); var concat = require('gulp-concat'); var myth = require('gulp-myth'); var uglify = require('gulp-uglify'); var jshint = require('gulp-jshint'); var imagemin = require('gulp-imagemin'); // Styles Task gulp.task('styles', function() { return gulp.src('app/css/*.css') .pipe(concat('all.css')) .pipe(myth()) .pipe(gulp.dest('dist')); }); // Scripts Task gulp.task('scripts', function() { return gulp.src('app/js/*.js') .pipe(jshint()) …
125 javascript  gulp 

7
定义要使用JQuery追加的HTML模板
我有一个要遍历的数组。每当条件为真时,我想将HTML以下代码的副本附加到具有某些值的容器元素上。 我在哪里可以将该HTML巧妙地重用? <a href="#" class="list-group-item"> <div class="image"> <img src="" /> </div> <p class="list-group-item-text"></p> </a> jQuery查询 $('.search').keyup(function() { $('.list-items').html(null); $.each(items, function(index) { // APPENDING CODE HERE }); });
125 javascript  jquery  json 

11
Internet Explorer 11检测
我知道IE 11的用户代理字符串与所有其他IE不同 Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko 我已尝试使用为此问题指定的答案来检测IE 11” jQuery无法检测到IE 11 那是 !!navigator.userAgent.match(/Trident\/7\./) 但是我得到了错误 Object not found and needs to be re-evaluated. 然后,我在IE11中打开了开发人员控制台,并尝试访问一些预定义的javascript对象,但仍然遇到相同的错误。 我努力了 navigator.userAgent window.navigator console.log('test'); 有人对此有想法吗?

7
数组的indexOf和findIndex函数之间的区别
我对两个函数indexOf和数组中的Index之间的区别感到困惑。 该文件说 findIndex-返回谓词为true的数组中第一个元素的索引,否则为-1。 和 indexOf-返回值在数组中首次出现的索引。
125 javascript 

11
获取子节点索引
在直接使用JavaScript(即没有jQuery之类的扩展名)的情况下,有没有一种方法可以确定父节点内部子节点的索引,而无需遍历和比较所有子节点? 例如, var child = document.getElementById('my_element'); var parent = child.parentNode; var childNodes = parent.childNodes; var count = childNodes.length; var child_index; for (var i = 0; i < count; ++i) { if (child === childNodes[i]) { child_index = i; break; } } 有没有更好的方法来确定孩子的指数?
125 javascript  dom 

4
如何在javascript中监听表单提交事件?
我想编写自己的表单验证javascript库,并且一直在google上寻找如何检测是否单击了提交按钮,但是我发现的只是代码,您必须onSubmit="function()"在html中使用onClick on 。 我想制作此javascript,以便不必触摸任何html代码,例如添加onSubmit或onClick javascript。

10
为什么JavaScript没有最后一种方法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 有点奇怪的是,JavaScript Array类没有提供last方法来检索数组的last元素。我知道解决方案很简单(Ar [Ar.length-1]),但是,这仍然太常用了。 尚未合并的任何严重原因?
124 javascript 

15
JavaScript数据格式/漂亮打印机
我正在尝试找到一种pretty print易于理解的JavaScript数据结构调试方法。 我有一个相当大和复杂的数据结构存储在JS中,我需要编写一些代码来对其进行操作。为了弄清楚我在做什么和哪里出了问题,我真正需要的是能够完整地查看数据结构,并在每次通过UI进行更改时对其进行更新。 除了找到一种将JavaScript数据结构转储到人类可读的字符串的好方法外,我还能处理所有这些事情。JSON可以,但是确实需要很好地格式化和缩进。为此,我通常会使用Firebug出色的DOM转储工具,但我确实需要能够立即查看整个结构,这在Firebug中似乎是不可能的。 欢迎任何建议。 提前致谢。

5
在调整浏览器大小时将Google Maps(V3)居中(响应式)
我的页面上有一个Google Maps(V3),页面宽度为100%,中间有一个标记。调整浏览器窗口的宽度大小时,我希望地图保持居中(响应)。现在,地图仅停留在页面的左侧,并且变得更小。 更新感谢邓肯(Duncan)的帮助,它完全按照描述的方式工作。这是最终代码: var center; function calculateCenter() { center = map.getCenter(); } google.maps.event.addDomListener(map, 'idle', function() { calculateCenter(); }); google.maps.event.addDomListener(window, 'resize', function() { map.setCenter(center); });

8
如果我不知道名称,该如何访问javascript对象的属性?
假设您有一个像这样的javascript对象: var data = { foo: 'bar', baz: 'quux' }; 您可以通过属性名称访问属性: var foo = data.foo; var baz = data["baz"]; 但是,如果您不知道属性名称,是否可以获取这些值?这些属性的无序性质是否使其无法区分? 在我的情况下,我专门考虑一种情况,即一个函数需要接受一系列名称-值对,但是属性的名称可能会改变。 到目前为止,我对如何执行此操作的想法是将属性的名称与数据一起传递给函数,但这听起来像是一种hack。如果可能的话,我宁愿自省。

6
innerText,innerHTML,label,text,textContent,outerText
我有一个由Javascript填充的下拉列表。 在决定应该在加载时显示的默认值时,我意识到以下属性显示的值完全相同: innerText innerHtml label text textContent outerText 我自己的研究显示基准测试或其中一些(但不是全部)之间的比较。 我可以使用自己的常识选择一个或另一个,因为它们可以提供相同的结果,但是,我担心如果数据发生更改,这将不是一个好主意。 我的发现是: innerText 将按原样显示该值,并忽略可能包含的任何HTML格式 innerHTML 将显示值并应用任何HTML格式 label似乎与相同innerText,所以我看不到区别 text似乎innerText与jQuery简写版本相同 textContent看起来与相同,innerText但保持格式(例如\n) outerText 似乎与 innerText 我的研究只能采取我太厉害,我只能考什么我能想到的或读到的东西发布后,任何一个可以确认但如果我的研究是正确的,如果有什么特别的label和outerText?
124 javascript  html  dom 


13
使用Underscore for Java删除重复的对象
我有这种数组: var foo = [ { "a" : "1" }, { "b" : "2" }, { "a" : "1" } ]; 我想将其过滤为: var bar = [ { "a" : "1" }, { "b" : "2" }]; 我尝试使用_.uniq,但是我猜因为{ "a" : "1" }不等于它本身,所以不起作用。有什么方法可以为下划线uniq提供覆盖的equals函数吗?

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.