草庐IT

improving-the-dom

全部标签

javascript - 在 IE 中使用带有数据属性的 javascript 向 DOM 添加脚本标签

在我的页面上运行一些东西后,我需要将以下脚本标记添加到DOM:我知道最好所有的东西都在我的require文件中,但现在我需要修复它才能在IE中工作。我在FF/Chrome中工作的是:varscript=document.createElement('script');script.setAttribute('data-main','js/main');script.src='lib/Require/require.js';document.getElementsByTagName('script')[0].parentNode.appendChihld(script);但是,当我尝试设

javascript - 使用 javascript/jquery 访问影子 DOM 属性( polymer )?

我目前正在使用polymer的core-scaffold&co。创建带有内容区域的页眉/侧边栏。我目前遇到的问题是我无法访问内容元素的某些属性,例如scrollTop。(因为我需要访问的实际scrollTop属性是在影子DOM中定义的。)这与我正在使用的lazyloadjquery插件冲突。该插件正在检查window.scrollTop但更改插件以检查我的内容(滚动而不是窗口)的scrollTop不会有任何影响,因为scrollTop在影子DOM中“隐藏”。有没有办法访问影子DOM元素?我唯一能找到的是访问你自己用createShadowroot(或者它被调用的任何东西)创建的影子DO

javascript - Chrome 开发工具 : view all event listeners used in the page

chrome开发工具(或任何扩展)中是否有一个功能,我可以通过它查看某个页面/应用程序上使用的所有事件监听器。编辑:它肯定不是这个问题的重复:HowdoIvieweventsfiredonanelementinChromeDevTools?上述问题解释了如何查找在我们与我们的应用交互时触发的特定事件(我知道如何做到这一点!)。我正在寻找的是我们在应用程序中监听的所有事件的列表以及它们附加到哪些DOM元素。 最佳答案 ChromeDevtool无法为您完成此操作。但是您可以使用chrome提供的API检查控制台中的那些:getEven

javascript - Angular 2 : Validate child component form fields from the parent component

问题陈述:父组件有标签和一些里面的标签,子组件也有一些标签,父组件有一个我们正在验证提交表单时的表单字段。如何验证子组件来自父组件的字段submit表格?要求:如果父组件的表单包含带有input的子组件模板中的组件,然后是这些input如果从父组件提交,组件应该在点击时验证。调查结果:SO中有很多帖子有相同的问题陈述,但没有找到任何合适的解决方案。以下所有帖子都验证了整个表单,但我的要求是验证子组件中的每个字段。Angular2validationtogetherwiththechildcomponentAllowtemplate-drivenforminputsacrossacomp

javascript - DOM 元素宽度可以是非整数吗?

我有一些页面的div元素由JavaScript对齐。JavaScript只是检查一组div元素以找到最大offsetWidth,然后设置所有div元素的width成为最大offsetWidth。它在大多数浏览器和语言环境中都能完美运行,但在Mac上的Firefox中无法使用法语。在这种情况下,div的内容会换行。Heurededébut:对于上面的HTML,下面的代码报告“79”。javascript:alert(document.getElementById('divFoo').offsetWidth);但下面的代码报告“79.1333px”。javascript:aler

javascript - 对象内的 XMLHttpRequest : how to keep the reference to "this"

我从javascript对象内部进行一些Ajax调用。:myObject.prototye={ajax:function(){this.foo=1;varreq=newXMLHttpRequest();req.open('GET',url,true);req.onreadystatechange=function(aEvt){if(req.readyState==4){if(req.status==200){alert(this.foo);//referencetothisislost}}}};在onreadystatechange函数中,this不再引用主对象,所以我无权访问this

javascript - 如何识别 DOM 何时被更改?

是否有一种简单的方法可以知道DOM何时已更改?有没有内置的JavaScript/jQuery事件/函数? 最佳答案 如果您必须检测更改,您可以检查DOM突变事件。DOMeventswikipediapage列出他们所有。但是,您应该知道它们在InternetExplorer中不受支持,并且在支持它们的浏览器中可能会经常触发。一种蛮力方法是使用setTimeout并自行检查更改。但我的经验表明,可以避免对DOM更改通知的需求。您能否详细说明您的具体要求? 关于javascript-如何识别

javascript - "Assertion failed: you need to wait for the runtime to be ready"在JavaScript中调用C函数时出错

我正在尝试一个简单的示例来调用使用JavaScript编译为.wasm的C函数。这是counter.c文件:#includeintcounter=100;EMSCRIPTEN_KEEPALIVEintcount(){counter+=1;returncounter;}我使用emcccounter.c-sWASM=1-ocounter.js编译了它。我的main.jsJavaScript文件:constcount=Module.cwrap('count','number');console.log(count());我的index.html文件只加载正文中的两个.js文件,没有别的:我得

javascript - 当我可以在 JavaScript 中直接引用 DOM id 时,为什么要使用 document.getElementById?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:IE/Chrome:areDOMtreeelementsglobalvariableshere?我最近发现我可以在javascript中使用DOM中的任何对象并直接引用其id:IMALAYERalert(layer.innerHTML);如果这是真的,我使用getElementById方法有什么好处?

javascript - 如果我的脚本位于正文末尾,我应该使用 DOM 就绪函数吗?

我知道,在jQuery中,我们被告知要使用$(document).ready()以确保DOM元素已准备好进行交互。我知道如果脚本标签在中,这绝对适用.如果它们在的末尾,在所有的DOM元素之后,我还应该使用DOM-ready函数吗?如果我不这样做,是否存在我的代码在其中会失败的浏览器?谢谢! 最佳答案 在中有一件事是你不能做的在之前阻止:将DOM内容附加到正文。这是append-relative-to-parse问题,导致IE与可怕的“操作中止”相匹配。因此,如果您有执行此操作的脚本或插件,则无法在body元素末尾内联调用它们。否则继