Questions tagged «javascript»

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

5
我如何保证原生XHR?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我想在我的前端应用程序中使用(本机)promise来执行XHR请求,但没有大型框架的所有傻子行为。 我希望我的XHR返回的希望,但是,这并不工作(给我:Uncaught TypeError: Promise resolver undefined is not a function) function makeXHRRequest (method, url, done) { var xhr = new XMLHttpRequest(); xhr.open(method, url); xhr.onload = function() { return new Promise().resolve(); }; xhr.onerror = function() { return new Promise().reject(); }; xhr.send(); } makeXHRRequest('GET', 'http://example.com') .then(function (datums) { console.log(datums); });

7
当http:// localhost是起源时的致命CORS
即使我为服务器(nginx / node.js)设置了适当的标头,我仍然会遇到CORS问题。 我可以在“ Chrome网络”窗格->响应标题中看到: Access-Control-Allow-Origin:http://localhost 这应该可以解决问题。 这是我现在用来测试的代码: var xhr = new XMLHttpRequest(); xhr.onload = function() { console.log('xhr loaded'); }; xhr.open('GET', 'http://stackoverflow.com/'); xhr.send(); 我懂了 XMLHttpRequest无法加载http://stackoverflow.com/。Access-Control-Allow-Origin不允许使用原始http:// localhost。 我怀疑这是客户端脚本而不是服务器配置中的问题...

9
检测iOS / Android操作系统
我已经做了一些研究,但这个问题已经提出,但不是我打算的那样。我正在为QR登陆的客户端构建页面,这是一个下载应用程序的地方。因此,他不必在页面上打印2个QR码,我想检测当前的操作系统(Apple / Android / Other [不支持])并根据该值修改我的元素。 我已经看过脚本“ detectmobilebrowsers”,它的目的只是告诉用户是否完全可以移动,而我想弄清楚用户正在运行哪种操作系统,并建议最佳的应用程序版本。 我发现与此问题类似的其他答案似乎已经过时或不可靠(无法检测到Android平板电脑浏览器),因此我正在寻找新的东西。我该如何实现?(最好依次使用jQuery-Javascript-PHP)。


22
测试值是奇数还是偶数
我决定使用非常简单的算法创建简单的isEven和isOdd函数: function isEven(n) { n = Number(n); return n === 0 || !!(n && !(n%2)); } function isOdd(n) { return isEven(Number(n) + 1); } 如果n具有某些参数,那是可以的,但是在许多情况下会失败。因此,我着手创建健壮的函数,以便在尽可能多的情况下提供正确的结果,以便仅测试javascript数字限制内的整数,其他所有结果均返回false(包括+和-无限)。注意零是偶数。 // Returns true if: // // n is an integer that is evenly divisible by 2 // // Zero (+/-0) is even // Returns false …

11
一旦出现,如何为Bootstrap模式中的特定字段设置焦点
关于引导程序模态,我已经看到了几个问题,但是没有一个完全像这样,所以我继续。 我有一个模态,我这样称呼onclick ... $(".modal-link").click(function(event){ $("#modal-content").modal('show'); }); 这可以正常工作,但是当我显示模态时,我想关注第一个输入元素...在某些情况下,第一个输入元素的ID为#photo_name。 所以我尝试了 $(".modal-link").click(function(event){ $("#modal-content").modal('show'); $("input#photo_name").focus(); }); 但这无济于事。最后,我尝试绑定到“ show”事件,但是即使如此,输入也不会集中。最后,仅出于测试目的,因为我怀疑这与js加载顺序有关,所以我设置了setTimeout只是为了查看是否延迟一秒钟,焦点会起作用,是的,它起作用了!但是这种方法显然是胡扯。有什么方法可以在不使用setTimeout的情况下达到与以下相同的效果? $("#modal-content").on('show', function(event){ window.setTimeout(function(){ $(event.currentTarget).find('input#photo_name').first().focus() }, 0500); });

9
Twitter的typeahead.js建议未设置样式(无边框,透明背景等)
我使用的是twitter的typeahead.js 0.9.3,看来我的建议根本没有样式。 我得到这个: 而不是这样:(取自示例页面) JavaScript启用预输入: $('.search-typeahead').typeahead({ name: 'videos', remote: { url: '/api/v1/internal/videos/typeahead?text=%QUERY' } }); HTML输入元素: <input type="text" value="" id="search_keywords" class="no-clear search-typeahead"/> 补充笔记: 我正在工作的网站具有jQuery 1.10.1,并且未使用twitter引导程序。我没有写过很多CSS,因此我不熟悉它们,我担心会干扰它们,但是似乎该插件添加了自己的样式(没有随附的.css文件),因此从理论上讲它不应该覆盖所有内容?我很困惑为什么我的样式有效,但插件添加的样式却无效,从而导致背景透明,无边框等建议。

8
var self =这个?
使用实例方法作为事件处理程序的回调将范围this从“我的实例”更改为“无论什么叫回调”。所以我的代码看起来像这样 function MyObject() { this.doSomething = function() { ... } var self = this $('#foobar').bind('click', function(){ self.doSomethng() // this.doSomething() would not work here }) } 它有效,但这是最好的方法吗?我觉得很奇怪

8
获取拆分字符串数组的最后一个元素
我需要获取具有多个分隔符的拆分数组的最后一个元素。分隔符是逗号和空格。如果没有分隔符,则应返回原始字符串。 如果字符串是“今天你好吗?” 它应该返回“今天?” 如果输入为“ hello”,则输出应为“ hello”。 如何在JavaScript中执行此操作?
182 javascript  split 

17
将php数组转换为Javascript
我如何以这种格式转换PHP数组 Array ( [0] => 001-1234567 [1] => 1234567 [2] => 12345678 [3] => 12345678 [4] => 12345678 [5] => AP1W3242 [6] => AP7X1234 [7] => AS1234 [8] => MH9Z2324 [9] => MX1234 [10] => TN1A3242 [11] => ZZ1234 ) 到以下格式的Javascript数组? var cities = [ "Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", …
182 php  javascript  arrays 

8
如何停止复选框上的事件冒泡
我有一个复选框,我想对click事件执行一些Ajax操作,但是该复选框也位于容器内,它具有自己的单击行为,当单击该复选框时,我不想运行该行为。此示例说明了我要执行的操作: $(document).ready(function() { $('#container').addClass('hidden'); $('#header').click(function() { if ($('#container').hasClass('hidden')) { $('#container').removeClass('hidden'); } else { $('#container').addClass('hidden'); } }); $('#header input[type=checkbox]').click(function(event) { // Do something }); }); #container.hidden #body { display: none; } <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <div id="container"> <div id="header"> <h1>Title</h1> <input type="checkbox" name="test" /> </div> <div id="body"> <p>Some content</p> </div> </div> 运行代码段隐藏结果展开摘要 …

9
禁用页面的浏览器打印选项(页眉,页脚,边距)?
我已经在SO和其他几个网站上以几种不同的方式看到了这个问题,但是其中大多数要么太具体,要么已经过时。我希望有人可以在这里提供明确的答案,而不必担心猜测。 当有人在浏览器中打印时,是否可以使用CSS或javascript更改默认打印机设置?当然,“从他们的浏览器打印”是指某种形式的HTML,而不是PDF或其他依赖于插件的mime类型。 请注意: 如果某些浏览器提供了此功能,而另一些却不提供(或者如果您只知道如何为某些浏览器提供此功能),那么我欢迎特定于浏览器的解决方案。 同样,如果您知道主流浏览器对EVER这样做有特定的限制,那也很有帮助,但是希望您能得到一些相当新的文档。(当XYZ在过去三年中对上述策略进行了重大更改时,简单地说“违反XYZ的安全策略”并不令人信服)。 最后,当我说“更改默认打印设置”时,我并不是永远的意思,只是我的页面,我指的是打印页边距,页眉和页脚。 我非常清楚CSS提供了更改页面方向以及页面边距的选项。Firefox是其中的一大难题。如果我将页边距设置为1英寸,则会将其添加到已经放置的半英寸处。 我非常想减少客户网站上PDF的使用量,但主要是担心外观上的侵权(以及缺乏可靠性)。

12
AngularJS:AngularJS渲染模板后如何运行其他代码?
我在DOM中有一个Angular模板。当我的控制器从服务中获取新数据时,它将更新$ scope中的模型,然后重新呈现模板。到目前为止一切都很好。 问题是,在模板重新呈现并且在DOM中(在本例中为jQuery插件)之后,我还需要做一些额外的工作。 似乎应该有一个事件要听,例如AfterRender,但我找不到任何此类事件。也许一条指令是一个可行的方法,但是它似乎还为时过早。 这是一个概述我的问题的jsFiddle:Fiddle-AngularIssue ==更新== 基于有用的评论,我相应地切换到了处理DOM操作的指令,并在指令内部实现了$ watch模型。但是,我仍然遇到相同的基本问题。$ watch事件中的代码在模板被编译并插入DOM之前触发,因此,jQuery插件始终在评估一个空表。 有趣的是,如果我删除了异步调用,那么整个程序就可以正常工作,因此这是朝正确方向迈出的一步。 这是我更新的小提琴,以反映这些更改:http : //jsfiddle.net/uNREn/12/

5
导入lodash的正确方法
我在下面有一个请求请求反馈,只是想知道哪种方法是导入lodash的正确方法? 您最好从'lodash / has'中导入。.对于本身很重的lodash(v3)的早期版本,我们应该仅导入特定的模块/函数,而不是导入整个lodash库。不确定较新的版本(v4)。 import has from 'lodash/has'; 与 import { has } from 'lodash'; 谢谢

8
如何从ReactJS的“外部”访问组件方法?
为什么我不能从ReactJS的“外部”访问组件方法?为什么不可能,有什么办法解决呢? 考虑一下代码: var Parent = React.createClass({ render: function() { var child = <Child />; return ( <div> {child.someMethod()} // expect "bar", got a "not a function" error. </div> ); } }); var Child = React.createClass({ render: function() { return ( <div> foo </div> ); }, someMethod: function() { return 'bar'; …
182 javascript  reactjs  dom 

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.