草庐IT

AddEventListener

全部标签

javascript - jQuery.on();与 JavaScript .addEventListener();

有人能解释一下为什么事件处理程序的执行顺序会根据它们的附加方式而有所不同吗?在下面的示例中,我使用.on()和.addEventListener()方法来处理不同DOM元素上的特定事件。jsfiddle:http://jsfiddle.net/etsS2/我认为在这个特定示例中,事件处理程序的执行顺序将取决于event-bubbling-所以从原始事件target并向上移动到document元素。document.getElementById('outer').addEventListener('mouseup',function(event){//$('#outer').on('mo

javascript - 在 addEventListener 提交时返回 false 是否仍然提交表单?

varform=document.forms[0];form.addEventListener("submit",function(){varemail=form.elements['answer_13829'].value;if(email=='geobraks@yahoo.ca'){alert('redirectingtheuser...');window.location='xxxx';returnfalse;}});我不明白-它仍然提交表单。有人可以修补我的代码并使其正常工作吗? 最佳答案 您需要使用preventDefau

javascript - 自定义对象上的 addEventListener

我创建了一个具有多种方法的对象。其中一些方法是异步的,因此我想使用事件来在方法完成时执行操作。为此,我尝试将addEventListener添加到对象中。jsfiddlevariSubmit={addEventListener:document.addEventListener||document.attachEvent,dispatchEvent:document.dispatchEvent,fireEvent:document.fireEvent,//themethodbelowisaddedforcompleteness,butisnotcausingtheproblem.tes

javascript - 使用 addEventListener 的处理程序中 "this"的值

我已经通过原型(prototype)制作创建了一个Javascript对象。我正在尝试动态呈现表格。虽然呈现部分很简单并且工作正常,但我还需要为动态呈现的表处理某些客户端事件。那,也很容易。我遇到问题的地方是处理事件的函数内的“this”引用。“this”不是引用对象,而是引用引发事件的元素。见代码。有问题的区域在ticketTable.prototype.handleCellClick=function()中:functionticketTable(ticks){//ticketsisanarraythis.tickets=ticks;}ticketTable.prototype.r

javascript - addEventListener 使用 for 循环并传递值

这个问题在这里已经有了答案:JavaScriptclosureinsideloops–simplepracticalexample(44个答案)关闭5年前。我尝试使用for循环将事件监听器添加到多个对象,但最终所有监听器都针对同一对象-->最后一个。如果我通过为每个实例定义boxa和boxb手动添加监听器,它就可以工作。我猜是addEventfor循环没有按我希望的方式工作。也许我完全使用了错误的方法。示例使用4个class="container"容器4上的触发器按预期方式工作。在容器1、2、3上触发在容器4上触发事件,但前提是触发器已经被激活。//Functiontorunoncli

javascript - addEventListener()/attachEvent() 的正确用法?

我想知道如何分别正确使用addEventListenerattachEvent?window.onload=function(myFunc1){/*dosomething*/}functionmyFunc2(){/*dosomething*/}if(window.addEventListener){window.addEventListener('load',myFunc2,false);}elseif(window.attachEvent){window.attachEvent('onload',myFunc2);}//...或functionmyFunc1(){/*dosometh

javascript - 如何删除带有匿名函数的addEventListener 的EventListener?

functiondoSomethingWith(param){document.body.addEventListener('scroll',function(){document.write(param);},false);//AneventthatIwanttoremovelater}setTimeout(function(){document.body.removeEventListener('scroll',HANDLER,false);//WhatHANDLERshouldIspecifytoremovetheanonymoushandlerabove?},3000);doS

javascript - Javascript 中的 MSIE 和 addEventListener 问题?

document.getElementById('container').addEventListener('copy',beforecopy,false);在Chrome/Safari中,当复制页面上的内容时,上述将运行“beforecopy”功能。MSIE应该也支持此功能,但由于某种原因我收到此错误:"Objectdoesn'tsupportthispropertyormethod"现在,我的理解是InternetExplorer不会使用正文节点,但我认为通过ID提供节点会很好。有没有人对我做错了什么有任何想法?提前致谢。**如果有人能告诉我第三个参数“False”有什么用,可以加

javascript - document.addEventListener 和 window.addEventListener 的区别?

在使用PhoneGap时,它有一些使用document.addEventListener的默认JavaScript代码,但我有自己的代码使用window.addEventListener:functiononBodyLoad(){document.addEventListener("deviceready",onDeviceReady,false);document.addEventListener("touchmove",preventBehavior,false);window.addEventListener('shake',shakeEventDidOccur,false);}

javascript - addEventListener 在 IE8 中不工作

我动态创建了一个复选框。我已使用addEventListener在单击复选框时调用一个函数,该函数在GoogleChrome和Firefox中有效,但在InternetExplorer8中无效。这是我的代码:var_checkbox=document.createElement("input");_checkbox.addEventListener("click",setCheckedValues,false);setCheckedValues是我的事件处理程序。 最佳答案 尝试:if(_checkbox.addEventListe