草庐IT

javascript - addEventListener 到 AngularJS 中的简单指令示例

试图获得this非常基本的指令示例。根据一些调查,“elem”似乎是HTMLHeadingElement(继承自Element)的对象。不确定为什么elem.addEventListener不起作用。此外,elem.bind似乎有效,但这不是globalbind,对吧?此外,如果有人可以触及文档对象模型(DOM)级别2HTML规范与文档对象模型(DOM)级别1规范,那就太好了。碰巧第一次遇到这个,这是DOM元素的新对象层次结构吗?下面是我的指令的链接函数:-link:function(scope,elem,attrs){//elemwillbeHTMLHeadingElementobj

javascript - 将 element.id 设置为副作用是不好的做法吗?

我正在插件/库中编写一个小的缓存函数。它接受一个HTMLElement并返回一个Decorator。returnfunction_cache(elem){if(elem.id===""){elem.id=PLUGIN_NAME+"_"+uid++;}if(cache[elem.id]===void0){cache[elem.id]=_factory(elem);}returncache[elem.id];}在这里,我通过HTMLElement的id将一些昂贵的操作存储在缓存中。这是一个O(1)查找,但它使用了设置elem.id并产生副作用的“不良做法”。另一种方法是在缓存中查找O(N)

javascript - 将变量从一个文件传递到另一个文件

我正在尝试组织来自不同文件的JS代码。我正在使用D3.js,我已经创建了3个可视化,用户可以进行交互。例如,如果您将鼠标悬停在第一个可视化的元素上,我想相应地更改第二个和第三个。此过程使用此代码有效。index.html:page1.js:varPAGE1=(functionpage1(){//objecttoexportvarmoduleObj={};varelem1=d3.select('#elem1').append('svg').append('g').append('rect').attr('id','elem1rect').attr('width',50).attr('he

javascript - 动画结束事件未触发

我正在尝试向元素添加animationend事件,但该事件没有被触发。我做错了什么,我该如何解决?JSFiddlevarbtn=document.getElementById('btn');varelem=document.getElementById('elem');vartimeOutFunc;btn.addEventListener('click',function(){elem.classList.add('show');clearTimeout(timeOutFunc);timeOutFunc=setTimeout(function(){elem.classList.remo

javascript - 使用 JavaScript 将鼠标滚动事件转发到另一个 div

标题几乎描述了我的目标。这是代码[仅适用于WebKit]:我们有两个div,elem1和elem2。还有一个名为logger的文本框来显示结果。elem1有一些带有溢出的文本:滚动。functioneventHandler(e){varmyEvt=newe.constructor(e.type,e);document.getElementById('elem1').dispatchEvent(myEvt);}functionelem1MouseScroll(e){document.getElementById('logger').value='mousescrollon'+(e.tar

javascript - 滚动图像选框javascript

我目前想制作多张图片的选取框,但我的代码只允许一张。你知道我可以向这段代码中添加多张图片吗?(我已经尝试将图像直接添加到正文中的div元素中-它不起作用。) 最佳答案 我已经为您整理了这样一个slider。不需要框架,尽管有一些跨浏览器问题我还没有处理(包括版本8之前的IE以不同方式处理scrollWidth)。首先,把代码整理成这样:像这样添加一些CSS:#marquee-container{width:500px;/*orwhateveryouwant*/margin:0auto;/*centersit*/overflow:hi

javascript - 如何在规范文件中注入(inject)服务 Angular Testing (Jasmine/karma)

我刚开始编写Angular单元测试用例。我在我的Controller文件(.ts)中注入(inject)一项服务。我将如何在规范文件中注入(inject)服务文件。代码如下:app.component.tsgetSortData(){this.sortService.sortNumberData(this.data,'name','asce');}sort.service.tssortNumberData(data,rendererKey,type){//data.sort((elem1,elem2)=>{////ifnumberisundefined,thenassigning`MA

从 X、Y 到 X1、Y1 的 javascript 平滑动画

我想缓慢地将图像(或元素)从其实际的X、Y位置移动到X1、Y1。当X和X1之间的距离等于Y和Y1之间的距离时,这很容易。但是如果X差异是100px而Y差异是273px呢?作为Javascript的新手,我不想重新发明轮子!此外,由于我正在学习,我不想使用jQuery或类似的东西。我想要纯JavaScript。请提供简单的脚本:-) 最佳答案 一个解决方案:functiontranslate(elem,x,y){varleft=parseInt(css(elem,'left'),10),top=parseInt(css(elem,'t

javascript - 使用 JavaScript 读取元素的 CSS 属性

因此,如果有一个链接到网页的css文件,例如:我想读取某个属性,例如一个div有className='layout',我想使用JavaScript读取这个属性的详细信息,我该怎么做?我搜索了很多但几乎没有运气,请建议。 最佳答案 你有两个选择:手动枚举和解析document.styleSheets对象(不推荐,除非你想获得某个选择器定义的所有特定样式属性)。创建一个与选择器匹配的元素,并使用getComputedStyle或currentStyle(IE)方法获取属性值。在您的示例中,尝试使用class="layout"获取div的

Javascript 从页面上的任何文本输入/文本区域获取选定的文本

如果我不知道哪一个是事件的(重点),如何从文本框/文本区域获取选定的文本。我正在尝试创建一个小书签,它将更正页面上任何类型输入中的选定文本。 最佳答案 对于选择,您需要selectionStart和selectionEnd。对于当前获得焦点的元素,使用document.activeElement。因此,作为组合,您可以使用:http://jsfiddle.net/rBPte/1/.正如TimDown所指出的,对于InternetExplorer版本8或更低版本,您需要一个更复杂的解决方案:Caretpositionintextare