草庐IT

文本处理

全部标签

javascript - 浏览器是否仍然默默地吞下未处理的拒绝 promise ? Node 呢?

有很多建议建议您确保不要让任何被拒绝的promise得不到处理。如果你不这样做,建议警告,错误将永远不会被注意到,并将被完全吞没。控制台不会打印任何内容。这个建议似乎已经过时了。当未处理被拒绝的promise时,现代浏览器和现代版本的Node似乎确实会打印警告。拿这段代码:asyncfunctionthisIsGoingToFail(){awaitPromise.reject();console.log('thisshouldnotprint,asthelineaboveshoulderror');}asyncfunctionmain(){awaitthisIsGoingToFail(

javascript - 处理 z-index 图层上的点击事件

我正在构建的map应用程序中有2个z-index图层。单击图层放大时出现问题。单击处理程序位于底层z-index图层上,我不希望它在单击覆盖图层中的控件时触发。我遇到的问题是,无论如何都会引发事件,但是当单击顶层上的某些内容时,事件的originalTarget属性不是底层中的图像。无论如何要改变这个? 最佳答案 这叫做事件冒泡,你可以通过event.stopPropagation()方法(IE中的event.cancelBubble())来控制它。您还可以通过从元素上的onwhatever属性调用的处理程序返回true/false

javascript - 在 javascript 中处理大型数组时释放浏览器内存的最佳方法是什么?

我是这样设置的:container.htmldatabase1.js(包含名为database1的大数组)database2.js(包含名为database2的大数组)这是数组的示例(从6000多行缩短为2行):vardatabase1=[["2010-01-0307:45","2010-01-0311:00","534","A","","","","","Installedwashingmachine","0","1","1","Indeed","",""],["2010-03-2015:00","2010-03-2016:00","571","F","","","","","Ins

javascript - 多行文本框中的电子邮件验证

我有一个多行文本框,我将在其中输入许多电子邮件地址。如何在客户端验证多个电子邮件地址的电子邮件地址。我使用RegularExpressionValidator来验证文本框中的电子邮件。谢谢 最佳答案 简单地用循环扩展验证器。将文本框字符串拆分为电子邮件数组并验证每个。在该循环中,您可以提供另一个数组以便稍后筛选所有错误的电子邮件或在第一次验证失败时中止。像这样:varmails=textboxcontent.split(';');//youcanalsosplitbyblanks.Youmayalsoconsidertheuseof

javascript - 在剪切事件期间获取文本框的值

我已将剪切事件(jquery)捕获在文本框上。我想要的是在触发剪切事件期间获取文本框上的文本。我尝试访问用户通过evt.originalEvent.clipboardData.getData('text')剪切的数据,但返回未定义。我的目标是了解用户是否剪切了所有文本(文本框现在为空)。提前致谢 最佳答案 您可以setTimeout将持续时间设置为0,这会安排一个函数立即执行。好的是一旦文本已经被剪切,函数就会执行,所以你可以检查你的文本区域是否为空(这意味着用户已经剪切了所有文本):varta=$('#YOUR_TEXTAREA'

javascript - 从 DOM 中有效地删除文本节点

在不涉及太多细节的情况下,我正在使用javascript清理表格内的空白。我需要删除大量的文本节点。当涉及到IE9时,这似乎是我的脚本中的瓶颈。以下所有方法都可以完成这项工作,但它们会导致速度大幅下降。domNode.removeNode(true);domNode.nodeValue="";domNode.parentNode.removeChild(domNode);有没有办法进行批量删除或将它们隐藏在dom等中。只是更快一些。我也在文本节点上试过这个:domNode.innerHTML='';虽然它执行得很快,但文本节点似乎没有被它定相。此外,我需要保留事件绑定(bind),因此

javascript - 将事件处理程序添加到类中的每个元素

我正在尝试向所有具有section类的元素添加事件监听器,但它仅将其应用于节点列表中的最后一个对象。varsection=document.querySelectorAll('.section');for(vari=0;i有没有办法为每个事件添加事件监听器? 最佳答案 问题在于JavaScript中没有block作用域。所以elem每次迭代都会被覆盖,而不是每次都被声明为一个新变量。在每次迭代中声明新变量的唯一方法是通过函数:for(vari=0;i但是addEventListener将this设置为元素,因此在您的情况下您可以巧妙

javascript - YouTube API 'orderby=duration' 不处理整个播放列表,只处理最新的视频

我正在尝试构建一个小的JavaScript程序来查询YouTubeAPI对于给定的播放列表,按持续时间排序。否则一切都完美无缺,但排序并不代表整个播放列表,只是其中的25个最新视频!这是最低限度的完整工作exampleasaJSFiddle这是其中的JavaScript部分:varplaylistId="UUAuUUnT6oDeKwE6v1NGQxug";jQuery.getJSON("https://gdata.youtube.com/feeds/api/playlists/"+playlistId+"?v=2&orderby=duration&alt=json",function(

javascript - jQuery 的响应文本的 AJAX 内存泄漏?

我在使用GoogleChromeDevTools:HeapSnapshots调试我的应用程序是否存在内存泄漏时,发现了一些奇怪的事情。我发出了一个AJAX请求来获取一个大型的JSON博客,显然原始响应文本停留在内存中,导致我的应用程序发生内存泄漏。在$.ajax中似乎不太可能存在巨大的内存泄漏,但我希望能解释为什么会这样......如果我在vanillaJS中进行相同的实验,则不会显示泄漏.1)纯JavaScriptXHR来源:http://jsfiddle.net/HZmT5/2/(使用XMLHttpRequest)输出:http://fiddle.jshell.net/HZmT5/

javascript - RxJS:我怎样才能使用 event.preventDefault() 来处理掉落事件?

我的标记:Dropfilehere...我的代码:vardropTarget=document.getElementById('drop-target');Rx.Observable.fromEvent(dropTarget,'dragover').subscribe(function(event){event.preventDefault();});vardropStream=Rx.Observable.fromEvent(dropTarget,'drop');dropStream.subscribe(function(event){console.log('Thiswillbeca