草庐IT

improving-the-dom

全部标签

javascript - 我可以继承 DOM 类吗?

我想知道是否可以创建HTMLDivElement的子类。像这样。MyDivElement.prototype.pickColor=function(){returnthis.picked;}functionMyDivElement(){this=newHTMLDivElement();this.picked='unknowd';}alert(this.picked);//print:'unkowd'(类似)这可能吗?如果不是,实现这一目标的最佳方法是什么? 最佳答案 在__proto__公开且可变的浏览器中,您可以子类化DOM元素。

javascript - 查找与 DOM 窗口关联的选项卡

我正在Firefox扩展中添加一些新功能,TryAgain,它会捕获HTTP错误代码(例如500)并在一段时间后自动重试加载页面。捕获代码非常有效,我正在尝试计算重试总数和storethisinthetabusingSessionStore.不幸的是,现在我正在获取对DOM窗口的引用(通过interfaceRequestor.getInterface(Components.interfaces.nsIDOMWindow)),但我需要对选项卡的引用,它是nsIDOMNode根据nsISessionStoredocsonsetTabValue().到目前为止我有什么(我已经从这个例子中删除

JavaScript 和 SVG : how do you increase the clickable area for an onClick event?

我的脚本以3的stroke-width在屏幕上绘制线条。线条的大小(在视觉上)很理想,但它们不太容易点击。举个粗略的例子:functionselectStrand(evt){current_id=evt.target.getAttributeNS(null,"id");document.getElementById('main').innerHTML=current_id;}Selectedline:有没有一种简单的方法可以增加每条线周围的区域,使其更易于点击? 最佳答案 对于每条线,尝试在其上绘制一条具有更大笔划宽度的透明线,并在

javascript - 如何在 JavaScript 中没有大量 if 语句的情况下避免 "the property of undefined"错误?

我经常发现自己在处理像这样的深层物体:varx={y:{z:{a:true}}}代码中的某处:if(x.y.z.a===true){//dosomething}在某些情况下,任何x、y、z变量都可能未定义,在这种情况下,您会得到“无法读取未定义的属性*”可能的解决方案是:if(x&&x.y&&x.y.z&&x.y.z.a===true){//dosomething}jsfiddle:http://jsfiddle.net/EcFLk/2/但是有没有更简单/更快捷的方法呢?内联解决方案(不使用特殊功能)会很棒。谢谢。 最佳答案 不,你

javascript - Angular : Push item to list doesn't update the view

当我将项目推送到数组时,View不会刷新列表。表格:{{product.Code}}{{product.Name}}形式:Code:Naam:在Controller中提交产品:$scope.submitProduct=function(){console.log('before:'+$scope.products.length);$scope.products.push({Code:$scope.product.Code,Name:$scope.product.Name});console.log('after:'+$scope.products.length);console.log

javascript - 如何将 EventListener 添加到 future 的 DOM 元素?

文件partial.html如下所示:HiIamfromapartial!Partial.html使用XMLHttpRequest动态包含在页面上:varoReq=newXMLHttpRequest();oReq.open('get','partial.html',true);oReq.send();oReq.onload=function(){document.querySelector('#pageArea').innerHTML=this.response;};我如何添加一个事件监听器以应用于future现有的#test在它的内容被加载并插入到#pageArea后没有这样做?(请

javascript - 更改属性时延迟渲染 dom 元素

我目前在一次更新大量dom元素的属性时遇到性能问题。似乎每次我更改属性时,dom元素都会重新呈现。无论如何我可以延迟元素的渲染,直到我的所有更新都发生了吗?它在FF3和3.5中似乎比IE7和8慢很多,这与我的预期相反。下面是我正在做的一个例子。vart;for(vari=0;i问题是“tiles”中的项目数最多可以有100个dom元素。这才是性能问题真正体现出来的地方。 最佳答案 同意@Crimson但我认为最好隐藏您要更新的所有元素的父级,如果它们没有独占父级,请尝试创建一个。这样只有两个reflows会发生,一个发生在您隐藏ti

javascript - Fancybox 返回 "The requested content cannot be loaded. Please try again later."

使用Fancybox至playyoutubevideosinamodalbox.我的问题是我不断收到“无法加载请求的内容。请稍后重试。”模式框弹出,所以我知道脚本正在运行,这可能是我的API调用有问题...这是我的调用:$(document).ready(function(){/*Thisisbasic-usesdefaultsettings*/$("a.fancybox").fancybox({'hideOnContentClick':true});/*Thisisanon-obtrustivemethodforyoutubevideos*/$("a[rel=fancyvideo]"

javascript - 自执行功能是否准备好在 dom 上运行?

在我听说自执行函数之前,我总是这样做:$(document).ready(function(){doSomething();});functiondoSomething(){//blah}自执行函数会产生同样的效果吗?它会在dom上运行吗?(functiondoSomething($){//blah})(jQuery); 最佳答案 没有。当Javascript引擎找到它时,一个自执行函数就会运行。但是,如果您在结束前将所有代码放在文档末尾标记(即highlyrecommended),那么您不必等待DOM准备就绪,因为您已经自动完成了

javascript - 从内存中移除 HTML 元素(DOM 节点)

根据mdndocumentationremoveChild方法从DOM中删除一个节点,但它仍然驻留在内存中。我的问题是我也想从内存中删除它。我已经尝试使用delete运算符,但对象仍然存在...myCanvas.parentElement.removeChild(myCanvas);//myCanvasactuallyremovedfromDOMdeletemyCanvas;//false.doesnothingalert(myCanvas);//showsHTMLCanvasElementinsteadofundefined 最佳答案