草庐IT

从业影响

全部标签

javascript - 如何删除影响 React 元素的 Jquery 文档单击监听器?

对于遗留应用程序,我们正在使用React逐个重写Web应用程序的部分内容。因为这不能完全删除文档监听器的垃圾。页面上有很多不同的组件,它们上面都有监听器。这正在影响react组件的性能。例如;MaterialUI切换菜单,https://codesandbox.io/s/o9970jm69例如,切换菜单速度很快,并且可以响应您的点击。但是对于我们的网络应用程序,由于这些文档事件监听器,切换行为与演示不同。是否可以移除React元素的这些文档点击监听器?或者有没有办法摆脱React组件的这些监听器? 最佳答案 jQuery事件的解决方

javascript - 使用 Object.create(null) 创建空对象的影响和好处

首先,我制作了一个快速的jsperf测试用例来展示显而易见的东西:Object.create(null)比使用{}语法创建对象要慢得多。http://jsperf.com/js-object-creation-null-proto但考虑到这一事实,在优化和性能方面,前一种情况有时是一个很好的选择吗?换句话说,操作最轻量级的js对象是否可以充分提高性能,以至于在某些情况下使用它成为合理的选择。我指的是您要大量访问对象属性或大量使用forin循环的情况。在库中使用这种方法是否风险太大,人们可能会处理这些不拥有标准Object原型(prototype)带来的标准属性的对象?另外,你知道另一种

javascript - 如何在不影响其他元素的情况下扩展一个DIV

我想知道如何在不影响页面中其他元素布局的情况下展开“div”。具体来说,我想实现与此类似的效果-http://www.ikea.com/us/en/catalog/categories/departments/kitchen/kitchen_int_lighting/.如果将鼠标悬停在任何产品上,您会看到该框展开并显示更多信息;但是,其他元素(例如下面的产品图片)不受扩展的影响。 最佳答案 使用绝对位置。相反,您也可以通过在div上的悬停事件上编写,在具有更高z-index的那个位置添加一个额外的div来实现相同的效果。

javascript - 查询字符串中参数的位置如何影响页面?

我有一个应用程序,其中大部分代码是用javascript编写的。我遇到了一个奇怪的问题。我有一个查询字符串,我的应用读取它来执行各种操作。昨天我更改了查询字符串参数的顺序,应用程序停止工作。如果我把原来的订单放回去,它就会开始工作。可能是什么原因?我认为参数排序的影响应该无关紧要。但是,显然出于某种原因它确实很重要。我仍在尝试找出问题所在,但想知道这里是否有人遇到过类似问题?谢谢。 最佳答案 正确编写的应用程序将以任何顺序查找给定的查询参数,并且不会区分顺序。有可能编写糟糕的解析代码只能在开头、结尾或仅在其他参数之后找到给定的参数。

javascript - 如何使 CSS 变换影响其他元素的流动

我使用带有transform属性的CSStransitions来在添加和删除元素时缩小元素。然而,这样做的一个问题是该属性不会影响其他元素的流动,因此看起来好像被删除的元素缩小了,然后其余元素突然跳了起来。如果我要为height属性设置动画而不是使用变换,这会很好,但是在实际使用中我使用的是可变高度的元素,所以我不知道我可以在什么高度之间设置动画。编辑:人们建议为height属性(如上所述不起作用)或max-height属性设置动画.max-height属性将在一定程度上起作用,但是您无法完美地对齐时间,因为转换会不断调整max-height属性超过元素的实际高度直到过渡时间结束。这些

javascript - $(window).blur 事件影响 Iframe

我想检测用户何时离开我的页面(例如打开一个新标签页),以便我可以停止倒计时。我使用:$(window).blur(function(){//stopcountdown});但是我的页面中有一个Iframe,当用户点击它时倒计时也会停止,但我不希望当有人点击Iframe时执行上述事件。有什么想法吗?更新,我正在尝试更多,基于这个答案Click-eventoniframe?:iframeDoc=$('iframe').contents().get(0);$(iframeDoc).click(function(){//mayberemoveblurevent?});更新:TimB解决方案有效

javascript - 我将所有内容都保存在外部 .js 文件中。但并非所有功能都在每个页面上使用。这会影响速度吗?

我的应用程序的JavaScript/jQuery包含在外部scripts.js文件中。它通常看起来像这样:$('document').on('ready',function(){giraffe();elephant();zebra();});functiongiraffe(){//code}functionelephant(){//code}functionzebra(){//code}giraffe()仅用于/animal/giraffe可用的Viewelephant()仅用于/animal/elephant可用的Viewzebra()仅用于/animal/zebra可用的View,

javascript - setPrototypeOf 对新对象的性能影响是什么?

MDN暗示使用.setPrototypeOf()会对代码的future性能产生不良影响。我还阅读了一些关于为什么更改对象的[[Prototype]]会降低性能的问题。但是没有一个答案真正解释了后台发生的事情。所以我想知道这是否也适用于新对象。我特别喜欢做这样的事情:varMyPrototype={method1:function(){...},method2:function(){...},...};varnewObject=Object.setPrototypeOf({property:1,property2:'text'},MyPrototype);不幸的是,您不能使用Object

javascript - 响应长键值对组件的性能影响

字符串的长度如何应用于从某些数据集创建的某些组件集合,如下所示:{this.state.list.map(item=>{consturl=item.url;return();})}有什么限制吗?具有长键值对性能有何影响?背景。有时我们需要创建很长的项目列表(例如带有大量参数编码的url),并且只有合适/唯一的东西才能用作自然键是这个很长的东西。 最佳答案 您用于key的字符串的长度不应影响性能。Javascript中的字符串是不可变的,另外现代Javascript引擎使用字符串实习,这意味着当您的解释器正在检查是否'/some/ur

javascript - onsubmit ="return false"对 Internet Explorer 7/8 没有影响(仍然提交表单)

我有一个表单,将由标签的“onsubmit”中触发的javascript代码提交。适用于所有浏览器-但不适用于IE7/IE8。我能做什么?[...] 最佳答案 我要挑剔这个。如果你想处理表单提交,这就是提交的目的。如果用户在您的某个字段中按下回车键,您的onclick处理程序将被完全避免。这是一个以非侵入性方式执行此操作的基本示例。document.myform.onsubmit=function(){alert('handled');returnfalse;}这可以通过jQuery变得更简单,同样的形式......$("form[