Questions tagged «addeventlistener»

一个将事件侦听器添加到给定DOM节点的DOM事件方法

16
addEventListener与onclick
addEventListener和之间有什么区别onclick? var h = document.getElementById("a"); h.onclick = dothing1; h.addEventListener("click", dothing2); 上面的代码一起驻留在单独的.js文件中,并且它们都可以正常工作。



9
Javascript-如何检测文档是否已加载(IE 7 / Firefox 3)
我想在文档加载后调用一个函数,但是文档可能尚未加载完成。如果确实加载了,那么我就可以调用该函数。如果未加载,则可以附加事件监听器。在onload已经触发之后,我无法添加事件监听器,因为它不会被调用。那么如何检查文档是否已加载?我尝试了下面的代码,但不能完全正常工作。有任何想法吗? var body = document.getElementsByTagName('BODY')[0]; // CONDITION DOES NOT WORK if (body && body.readyState == 'loaded') { DoStuffFunction(); } else { // CODE BELOW WORKS if (window.addEventListener) { window.addEventListener('load', DoStuffFunction, false); } else { window.attachEvent('onload', DoStuffFunction); } }

8
将多个事件绑定到侦听器(没有JQuery)?
在处理浏览器事件时,我已经开始将Safari的touchEvents集成到移动设备中。我发现addEventListeners与条件堆叠在一起。该项目不能使用JQuery。 标准事件侦听器: /* option 1 */ window.addEventListener('mousemove', this.mouseMoveHandler, false); window.addEventListener('touchmove', this.mouseMoveHandler, false); /* option 2, only enables the required event */ var isTouchEnabled = window.Touch || false; window.addEventListener(isTouchEnabled ? 'touchmove' : 'mousemove', this.mouseMoveHandler, false); jQuery bind允许多个事件,如下所示: $(window).bind('mousemove touchmove', function(e) { //do something; }); 是否有办法像JQuery示例中那样组合两个事件侦听器?例如: window.addEventListener('mousemove touchmove', this.mouseMoveHandler, false); 任何建议或提示,不胜感激!

4
动态添加事件监听器
我刚刚开始使用Angular 2,我想知道是否有人可以告诉我从元素动态添加和删除事件侦听器的最佳方法。 我有一个组件设置。当单击模板中的某个元素时,我想为mousemove同一模板的另一个元素添加一个侦听器。然后,我想在单击第三个元素时删除此侦听器。 我只是使用普通的Javascript来抓取元素,然后调用标准,addEventListener()但我想知道是否还有更多的“ Angular2.0 ”方式可以做到这一点,我应该研究一下。


9
addEventListener在IE8中不起作用
我已经动态创建了一个复选框。我曾经addEventListener在单击复选框时调用过一个函数,该函数在Google Chrome和Firefox中有效,但在Internet Explorer 8中不起作用。这是我的代码: var _checkbox = document.createElement("input"); _checkbox.addEventListener("click", setCheckedValues, false); setCheckedValues 是我的事件处理程序。

16
无法读取null的属性“ addEventListener”
我必须在项目中使用香草JavaScript。我有一些功能,其中一个是打开菜单的按钮。它适用于存在目标ID的页面,但会导致不存在该ID的页面出现错误。在这些函数无法找到ID的页面上,我收到“无法读取属性'addEventListener'为null”的错误,其他函数均无效。 以下是打开菜单的按钮的代码。 function swapper() { toggleClass(document.getElementById('overlay'), 'open'); } var el = document.getElementById('overlayBtn'); el.addEventListener('click', swapper, false); var text = document.getElementById('overlayBtn'); text.onclick = function(){ this.innerHTML = (this.innerHTML === "Menu") ? "Close" : "Menu"; return false; }; 我该如何处理?我可能需要将所有代码都包装在另一个函数中,或者使用if / else语句,以便仅在特定页面上搜索ID,但不能完全确定。

14
如何检查是否存在动态附加的事件侦听器?
这是我的问题:是否可以通过某种方式检查动态附加事件侦听器的存在?或者如何检查DOM中“ onclick”(?)属性的状态?我已经像Stack Overflow一样在互联网上搜索解决方案,但是没有运气。这是我的html: <a id="link1" onclick="linkclick(event)"> link 1 </a> <a id="link2"> link 2 </a> <!-- without inline onclick handler --> 然后在Javascript中,将动态创建的事件侦听器附加到第二个链接: document.getElementById('link2').addEventListener('click', linkclick, false); 该代码运行良好,但是我所有检测该附加侦听器的尝试均失败: // test for #link2 - dynamically created eventlistener alert(elem.onclick); // null alert(elem.hasAttribute('onclick')); // false alert(elem.click); // function click(){[native code]} // btw, what's this? jsFiddle在这里。如果单击“为2添加onclick”,然后单击“ [链接2]”,则事件触发良好,但“测试链接2”始终报告为false。有人可以帮忙吗?

8
MSIE和addEventListener在JavaScript中有问题吗?
document.getElementById('container').addEventListener('copy',beforecopy,false ); 在Chrome / Safari中,当复制页面上的内容时,以上将运行“ beforecopy”功能。MSIE应该也支持此功能,但是由于某些原因,我收到此错误: “对象不支持此属性或方法” 现在,据我了解,Internet Explorer不会与主体节点一起使用,但是我本来认为按ID提供节点会很好。有人对我在做什么错有任何想法吗?提前致谢。 **任何可以告诉我第3个参数“ False”有什么用的人的奖励积分。

2
正确使用addEventListener()/ attachEvent()吗?
我不知道如何使用addEventListener分别attachEvent正确? window.onload = function (myFunc1) { /* do something */ } function myFunc2() { /* do something */ } if (window.addEventListener) { window.addEventListener('load', myFunc2, false); } else if (window.attachEvent) { window.attachEvent('onload', myFunc2); } // ... 要么 function myFunc1() { /* do something */ } if (window.addEventListener) { window.addEventListener('load', myFunc1, false); …

7
JavaScript removeEventListener不起作用
我有以下代码添加eventListener area.addEventListener('click',function(event) { app.addSpot(event.clientX,event.clientY); app.addFlag = 1; },true); 它按预期方式正常工作。稍后在另一个功能中,我尝试使用以下代码删除事件侦听器 area.removeEventListener('click',function(event) { app.addSpot(event.clientX,event.clientY); app.addFlag = 1; },true); 但是偶数侦听器没有被删除..为什么会发生?removeEventListener()是否有问题?注意:这里区域类似于document.getElementById('myId')

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.