Questions tagged «javascript»

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


7
提醒表单中未保存的更改
我想在主文件中编写Jquery代码,以便如果用户更改页面并且存在未保存的更改,则用户应该收到警报。我从中得到一个答案:链接 但是,在大多数解决方案中,我将必须在所有页面上编写代码。我希望它仅在一个地方编写,这样每个人都不必担心在其模块中编写它。我的代码是这样的: <script type="text/javascript"> var isChange; $(document).ready(function () { $("input[type='text']").change(function () { isChange = true; }) }); $(window).unload(function () { if (isChange) { alert('Handler for .unload() called.'); } }); </script> 但是,每次我在文本框中进行更改时,不会触发.change()事件。 代码有什么问题? 编辑:我将.change()更改为.click并被解雇了。我正在使用jQuery 1.4.1 ..是否由于jquery版本的change()无法正常工作?

7
如何使用jQuery删除父元素
我的jsp中有一些列表项标签。每个列表项内部都有一些元素,包括称为删除的链接(“ a”标签)。我想要的就是单击链接时删除整个列表项。 这是我的代码的结构: $("a").click(function(event) { event.preventDefault(); $(this).parent('.li').remove(); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <li id="191" class="li"> <div class="text">Some text</div> <h4><a href="URL">Text</a></h4> <div class="details"> <img src="URL_image.jpg"> <span class="author">Some info</span> <div class="info"> Text <div class="msg-modification" display="inline" align="right"> <a name="delete" id="191" href="#">Delete</a> </div> </div> </div> </li> 运行代码段隐藏结果展开摘要 但这是行不通的。我是jQuery的新手,所以尝试了一些操作,例如: $(this).remove(); 这有效,单击后删除链接。 $("#221").remove(); 这有效,它将删除指示的列表项,但不是“动态”的。 有人可以给我小费吗?

9
如何ungzip(解压缩)NodeJS请求的模块gzip响应主体?
如何在请求的模块响应中解压缩压缩的正文? 我已经在网上尝试了几个示例,但是似乎都没有用。 request(url, function(err, response, body) { if(err) { handleError(err) } else { if(response.headers['content-encoding'] == 'gzip') { // How can I unzip the gzipped string body variable? // For instance, this url: // http://highsnobiety.com/2012/08/25/norse-projects-fall-2012-lookbook/ // Throws error: // { [Error: incorrect header check] errno: -3, code: 'Z_DATA_ERROR' } // Yet, …


6
如何配置ESLint以允许使用胖箭头类方法
Parsing error: Unexpected token =当我尝试整理Es6类时,ESLint引发错误。我缺少在eslint中启用胖箭头类方法的配置参数吗? 范例类别: class App extends React.Component{ ... handleClick = (evt) => { ... } } .eslint { "ecmaFeatures": { "jsx": true, "modules":true, "arrowFunctions":true, "classes":true, "spread":true, }, "env": { "browser": true, "node": true, "es6": true }, "rules": { "strict": 0, "no-underscore-dangle": 0, "quotes": [ 2, "single" ], …

9
如何获得确切的浏览器名称和版本?
我已经尝试了一些解决方案,但无法获得确切的名称和版本: 我正在尝试以下代码: $browserAgent = $_SERVER['HTTP_USER_AGENT']; echo $browserAgent; 上面代码的输出: Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.68 Safari/534.24 但是我正在使用: Google Chrome 11.0.696.68 on Ubuntu 10.04 因此,我可以Chrome/11.0.696.68在输出字符串中找到它,但是它也显示了一些其他浏览器名称,这些名称令人困惑,无法从字符串中提取确切的浏览器名称/版本。

3
HTML5-跨浏览器iframe postMessage-子级到父级?
我一直在关注本教程-http : //www.youtube.com/watch?v= R2hOvZ7bwXU,该教程说明了如何使用postMessage在iframe和父级之间安全地传递消息-您基本上得到了这样的内容-http ://html5demos.com/postmessage2 我的问题是我需要它以相反的方式工作(子级到父级),并且不知道如何定位父级窗口。 这是我的接收方代码(在父级中): function handleMsg(e) { if(e.origin == "http://uc.dialogue.net") { let blah = e.data; alert(blah); } else { alert("error"); } } addEventListener("message", handleMsg, true); 这是由简单形式(在子级中)触发的发送方函数: let text = document.querySelector('.srchInput').value; window.parent.postMessage(text, "http://uc.dialogue.net"); 我应该以其他方式定位父母吗? 干杯保罗

6
模糊事件会使点击事件停止工作吗?
看来,模糊事件会使click事件处理程序停止工作吗?我有一个组合框,其中的选项仅在文本字段具有焦点时出现。选择一个选项链接应该导致一个事件发生。 我在这里有一个小提琴的例子:http : //jsfiddle.net/uXq5p/6/ 复制: 选择文本框 出现链接 点击链接 甚至发生模糊并且链接消失 什么都没发生。 预期行为: 在第5步中,在发生模糊之后,咔嗒声甚至也应该触发。我该如何实现? 更新: 在玩了一段时间之后,如果模糊事件使clicked元素变为Un-clickable,似乎有人已经竭尽全力防止已经发生的click事件得到处理。 例如: $('#ShippingGroupListWrapper').css('left','-20px'); 效果很好,但是 $('#ShippingGroupListWrapper').css('left','-2000px'); 防止点击事件。 这似乎是在Firefox中的错误,因为让一个元素未点击应防止未来的点击,但没有取消的时候可以点击它已经发生的。 阻止click事件处理的其他原因: $('#ShippingGroupListWrapper').css('z-index','-20'); $('#ShippingGroupListWrapper').css('display','none'); $('#ShippingGroupListWrapper').css('visibility','hidden'); $('#ShippingGroupListWrapper').css('opacity','.5'); 我在这个网站上发现了其他一些类似的问题。似乎有两种解决方案: 使用延迟。这很糟糕,因为它在隐藏事件和单击事件处理程序之间创建了竞争条件。它也马虎。 使用mousedown事件。但这也不是一个很好的解决方案,因为这click 是链接的正确事件。mousedown从UX的角度来看,行为是违反直觉的,尤其是因为您不能通过在释放按钮之前将鼠标移离元素来取消单击。 我还能想到更多。 3.在链接上使用mouseover和启用/禁用字段的模糊事件。由于不涉及鼠标,因此这不适用于键盘制表键。mouseout 4.最好的解决方案是这样的: $('#ShippingGroup').blur(function() { if($(document.activeElement) == $('.ShippingGroupLinkList')) return; // The element that now has focus is a link, do nothing …



17
js中的简单节流阀
我正在寻找JS中的简单节流阀。我知道像lodash和underscore这样的库都有它,但是仅对一个函数来说,包含其中任何一个库都是过大的。 我也在检查jquery是否具有类似的功能-找不到。 我发现一个工作的节流阀,下面是代码: function throttle(fn, threshhold, scope) { threshhold || (threshhold = 250); var last, deferTimer; return function () { var context = scope || this; var now = +new Date, args = arguments; if (last && now < last + threshhold) { // hold on to it clearTimeout(deferTimer); deferTimer …

9
使用reactjs和typescript的typesafe select onChange事件
我已经弄清楚了如何使用事件的丑陋转换将事件处理程序绑定到SELECT元素上。 是否可以以类型安全的方式检索值而无需强制转换为任何值? import React = require('react'); interface ITestState { selectedValue: string; } export class Test extends React.Component<{}, ITestState> { constructor() { super(); this.state = { selectedValue: "A" }; } change(event: React.FormEvent) { console.log("Test.change"); console.log(event.target); // in chrome => <select class="form-control" id="searchType" data-reactid=".0.0.0.0.3.1">...</select> // Use cast to any works but is …

2
打字稿找不到名称窗口或文档
无论哪种情况: document.getElementById('body'); // or window.document.getElementById('body'); 我懂了 error TS2304: Cannot find name 'window'. 我是否缺少tsconfig.json应安装的定义文件? 我在跑步tsc和跑步时收到消息vscode tsconfig.json: { "compilerOptions": { "allowJs": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "jsx": "react", "module": "commonjs", "moduleResolution": "node", "noEmitOnError": true, "noImplicitAny": false, "sourceMap": true, "suppressImplicitAnyIndexErrors": true, "target": "ES2016", "typeRoots": [ "node_modules/@types/", "typings/index.d.ts" ] }, "exclude": [ "node_modules", "**/*-aot.ts" …

12
如何调试网络工作者
我一直在与HTML 5的网络工作者一起工作,并且正在寻找调试它们的方法。理想情况下,例如萤火虫或Chrome调试器。有没有人对此有任何好的解决方案。无法访问控制台或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.