Tag: javascript

从另一个.js文件调用javascript函数

我有两个外部.js文件。 第一个包含一个函数。 第二个调用函数。 file1.js $(document).ready(function() { function menuHoverStart(element, topshift, thumbchange) { … function here … } }); file2.js $(document).ready(function() { setTimeout(function() { menuHoverStart(“#myDiv”, “63px”, “myIMG”); },2000); }); 麻烦的是,这不是运行该function。 我需要两个单独的文件,因为file2.js是根据特定条件动态插入的。 如果我在file1.js的末尾包含setTimeout …行,则此函数有效 有任何想法吗?

为什么我们需要传入window和undefined到这个jquery插件?

我正在查看jquery resize插件,无法理解它的工作原理: 通常我们只将Jquery对象传递给jquery插件,如下所示: (function($){ ….plugin code…. })(jQuery); 在“resize”插件中,有一个窗口和未定义的对象被传入: (function($,window,undefined){ ….plugin code…. })(jQuery,this); 恕我直言 – 窗口无论如何都是一个全球性的对象 – 为什么我们需要传递它? 传递未定义对象背后的逻辑我理解得更少。 我肯定有一些理由 – 但我想不出任何理由。 有人可以解释为什么要这样做?

jQuery:contains(),但匹配一个确切的字符串

如标题中所述,我想找到类似于:contains()但匹配精确字符串的内容。 换句话说,它不应该是部分匹配。 例如,在这种情况下: John Johny $(“#id:contains(‘John’)”)将匹配John和Johny ,而我只想匹配John 。 提前致谢。 编辑: ES2015单线解决方案,万一有人找到它: const nodes = […document.querySelectorAll(‘#id > *’)].filter(node => node.textContent === ‘John’); console.log(nodes); /* Output console formatting */ .as-console-wrapper { top: 0; } .as-console { height: 100%; } John Johny

Deferred对象和它自己的promise对象之间有什么区别?

让我们创建一个简单的Deferred对象: defer = $.Deferred( function ( defer ) { setTimeout( defer.resolve, 3000 ); }); 上面的Deferred对象将处于“pending”状态3秒,然后切换到“已解决”状态(此时将调用绑定到它的所有回调)。 让我们也检索Deferred对象的承诺: promise = defer.promise(); 现在,要添加在解析Deferred对象后将要调用的回调,我们可以使用.done()或.then() 。 但是,我们可以在Deferred对象本身或其自己的promise对象上调用此方法。 defer.then( handler ); 要么 promise.then( handler ); 在这两种情况下,都将调用handler函数(在这种情况下3秒后)。 如果我们使用$.when ,我们可以再次传递Deferred对象本身或其promise对象: $.when( defer ).then( handler ); 要么 $.when( promise ).then( handler ); 同样,上面两行代码之间没有区别。 现场演示: http : //jsfiddle.net/G6Ad6/ 所以,我的问题是因为我们可以在Deferred对象本身上调用.promise()等,因为我们可以将该Deferred对象传递给$.when() ,那么.promise()和检索promise对象? promise对象的目的是什么? 为什么function上存在这种冗余?

jQuery:如何检查何时加载数组中的所有图像?

我有一个图像数组(确切的图像数量不同),当它们全部加载时我想要一些代码来执行。 我试过这个,但它不起作用: myImgArray.load(function(){ alert(‘loaded’); }); 我明白了 33:未捕获的TypeError:对象[对象对象],[对象对象],[对象对象],[对象对象]没有方法’加载’ 我不认为for循环或类似的东西会起作用,因为图像可能并且可能会以“随机”顺序加载。

使用jQuery Validation插件validation不在表单内的输入

如何validation不在表单标记内的某些输入? 我找到的所有样本都有一个表单标签,但我想validation一些不在表单内的输入。

Javascript:更简单的数字格式化方式?

我正在尝试在页面上格式化各种数字。 这些数字代表价格,价格变化或百分比。 我知道Javascript具有限制小数位数的function,但是是否支持其他类型的格式化,例如用逗号分组数字,控制是否显示+/-等等? 这是我到目前为止所拥有的: var FORMATTER = { price : function(value) { return ‘$’ + value.toFixed(2); }, pricePer : function(value) { return (value * 100).toFixed(2) + ‘%’; }, priceChg : function(value) { return (value >= 0 ? ‘+’ : ‘-‘) + ‘$’ + Math.abs(value).toFixed(2); } }; 它运行正常,但是它想在’price’格式化程序中添加逗号,你可以看到’priceChg’格式化程序中有一个hack,我试图在’$’前面移动+/-符号标志。 基本上,我希望有一些库(jQuery可以)模拟Java的DecimalFormat类。

无法设置2D数组的属性“0”

任何人都可以告诉我为什么我收到以下代码的错误: 未捕获的TypeError:无法设置未定义的属性“0” var vehicles = []; $.get(‘../poll/index.php?data=vehicles’, function(data) { var rows = $(data).find(‘row’).length; for (var i = 0; i < rows; i++) { vehicles[i][0] = $(data).find('row').eq(i).find('stage').text(); vehicles[i][1] = $(data).find('row').eq(i).find('direction').text(); vehicles[i][2] = $(data).find('row').eq(i).find('stageName').text(); vehicles[i][3] = $(data).find('row').eq(i).find('atco').text(); vehicles[i][4] = $(data).find('row').eq(i).find('service').text(); vehicles[i][5] = $(data).find('row').eq(i).find('journey').text(); vehicles[i][6] = $(data).find('row').eq(i).find('fleet').text(); vehicles[i][7] = $(data).find('row').eq(i).find('longitude').text(); vehicles[i][8] = $(data).find('row').eq(i).find('latitude').text(); vehicles[i][9] = $(data).find('row').eq(i).find('operator').text(); vehicles[i][10] = […]

如何在保存到文件夹(Javascript)之前修复方向(上传图像)?

我试试这个参考: https : //github.com/blueimp/JavaScript-Load-Image 我尝试这样: https : //jsfiddle.net/oscar11/gazo3jc8/ 我的代码是这样的javascript: $(function () { var result = $(‘#result’) var currentFile function updateResults (img, data) { var content if (!(img.src || img instanceof HTMLCanvasElement)) { content = $(‘Loading image file failed’) } else { content = $(”).append(img) .attr(‘download’, currentFile.name) .attr(‘href’, img.src || img.toDataURL()) var form = new FormData(); […]

如何从jquery / javascript中的响应头读取数据

可能重复: jQuery和AJAX响应头 如果服务器返回响应头中的数据我怎么能读它。 我正在向服务器发送一个AJAX请求。 它不会返回除响应标头中的位置之外的任何内容。 我想用JavaScript或jQuery读取该位置….