草庐IT

javascript - DOM 中反射(reflect)的同名表单元素

如果您在一个表单中有多个具有相同name的表单元素,则表单上elements集合中的条目最终将成为这些字段的集合(很方便)。DOM2HTML规范coverstheelementscollection但当有多个同名字段时似乎不会立即指定此行为。该行为是否包含在标准中(在DOM2HTML规范或其他规范中的其他地方)?为清楚起见,我并不是在询问访问这些字段的最佳方式是什么。我想问的是,它们最终出现在elements集合的集合(各种类型)中这一事实是否包含在标准中,如果是,是哪一个。示例(livecopy):HTML:JavaScript:varform=document.getElement

javascript - 设计在 DOM 中表示 UI 对象的 JavaScript 类的最佳实践是什么?

我非常熟悉JavaScript和OOP,但对设计用于UI(HTML)编程的JS类非常不熟悉。我四处搜索了一下,但没有发现任何普遍的模式。假设我想动态创建类似面板的对象(类似于MicrosoftWindows面板)。每个对象都需要一个容器、一个可以包含文本标签的标题区域和一个具有单击事件处理程序的关闭按钮。除了DOM表示(HTML)之外,该对象还将具有JavaScript对象表示(变量和方法)。这是我尝试过的一种方法:////Windowclass//varWindow=function(params){this.testMethod=function(){console.log('te

javascript - 在 DOM 中添加/删除多个元素的最快方法

编辑:它不是“最快的DOM插入”的副本,因为它也包含事件监听器变量。无论如何,我会编辑问题。如果有人已经发现,我会知道一些事情。我想知道在javascript中添加元素的最快方法是什么,并且兼容ie6+、chrome10+、firefox2+。最快的技术:添加单个元素添加100个元素添加1个元素或1000个元素的任意时间曲线与上面相同,但用于删除元素添加/更改/删除内联样式属性添加事件监听器,例如mousedown/mouseup/mouseover添加/删除某些标签是否比其他标签更快?例如:添加/删除会更快或?(在添加模式下:我认为更快,因为它只有1个字母而不是3个字母,也许是因为d

javascript - 我可以以平台中立的方式查询无 URL 栏移动 Safari 窗口高度吗?

我正在编写一个类似于您在iPhone应用程序商店中获得的横向滚动文本阅读器小部件,其中应用程序的屏幕截图面板是嵌入在主垂直滚动面板中的不同的水平滚动面板。在所有版本(包括全分辨率键盘/鼠标计算机样式)中,面板占据容器宽度的100%,因此它就像横跨页面的水平条纹。在小分辨率触摸界面版本中,即对于智能手机,我希望它也调整大小为窗口的整个高度,以便当您垂直滚动到它时,它可以占据整个屏幕。iPhone使这变得棘手,因为$(window).height()或您想要查询它的方式似乎取决于URL栏是否可见。如果不对代码进行特殊封装以了解它是否在iPhone上,或者添加hack来滚动窗口以关闭URL栏

javascript - 具有 ID 属性的动态 DOM 对象的 IE9 内存泄漏

我注意到为动态创建的DOM对象分配ID属性值会导致IE9泄漏内存。有没有其他人经历过这种情况,更重要的是,知道任何解决方法?它在其他浏览器中不会泄漏,即使是IE6也能通过!泄露代码演示:它只是连续地从表中添加和删除行,并为每一行分配一个ID以供稍后查找。没有“row.id=eid;”就不会发生泄漏functionaddRow(tbl,index){varrow=tbl.insertRow(index);vareid="loongrowid"+count;row.id=eid;for(vari=0;i';for(vari=1;iTESTINGselecteddatetimeplacede

javascript - 从 html dom 创建可打印的 PDF

我有一个网页,其中有相当数量的内容是动态构建的(jqueryajax等),并且需要呈现它的可打印版本。我遇到了有关html/打印的所有常见问题,我可能(给定时间)解决这些问题,但这让我开始思考-是否有一种方法可以获取DOM并使用javascript从中生成PDF。这可能是一个有点愚蠢的问题-听起来有点棘手,我也不太确定即使我可以使用javascript构建一个PDF文件,我将如何将它呈现给用户。人们怎么看? 最佳答案 vardoc=newjsPDF();doc.text(20,20,'Helloworld!');doc.text(2

javascript - 将生成的内容添加到未绑定(bind)到 DOM 的 jQuery 对象失败

我正在尝试使用.append将HTML片段动态附加到现有元素。不知何故,脚本创建的HTML字符串没有附加到元素。附加到的元素在附加代码段时并未挂接到DOM中。所有这些都封装在一个JavaScript函数中。这是代码:append_content=function(){varelem=$('sometext');varsomecontent=get_content();//returnsastring:'xx'elem.append('bleh1');elem.append(somecontent);elem.append('bleh2');console.log(elem);retur

javascript - 测试 DOM 中元素的最佳方法是什么

有几种方法可以做到这一点(据我所知)。测试css显示if($('#foo').css('display')=='none')测试可见性if($('#foo').is(':visible'))在可见性中我可以检查元素是否存在。Elementsareconsideredvisibleiftheyconsumespaceinthedocument.Visibleelementshaveawidthorheightthatisgreaterthanzero.Elementswithvisibility:hiddenoropacity:0areconsideredvisible,sincethe

javascript - 测试一个对象是否是 DOM 事件

从像这样的函数中functioneventHandler(e){//...}是否有一种可靠且有效的方法来确定e是否为DOM事件? 最佳答案 我认为没有可靠的方法可以确定给定对象是否不是DOM事件。typeofe将始终为真正的Event对象返回'object',这没有帮助。您可能检查对象的任何属性都可以存在于真正的事件对象或任何非事件对象中。您可能认为原型(prototype)链可用于确定这一点,但它与#2存在相同的问题(可以轻松复制)。contructor属性看起来很有前途,但可以这样做:functionDummyEvent(){t

javascript - Chrome.History 获取引用 URL (JS)

我想写一个chrome扩展程序,它不仅可以列出历史记录中访问过的URL,还可以列出引用URL。例如,如果我从谷歌点击维基百科,它应该说“维基百科:由谷歌引用”。我最初的尝试是为有问题的URL获取一个HistoryItem,提取其最近的VisitItem,然后使用referringVisitId来追踪初始URL,但这正是我遇到困难的地方。我的问题归结为不理解referringVisitId的含义。是打开新页面的历史条目的ID吗?是URL点击发起的VisitItem的ID吗?文档指出它是“推荐人的访问ID”,但这仍然让我感到困惑。1)referringVisitId是什么意思?2)我可以使