TOGOUTECH

addEventListener

全部标签

javascript - attachEvent/addEventListener 到 Window onload/load - 首选方式

我有一个在页面加载时启动的脚本,我一直在使用下面的代码启动它:if(window.addEventListener){window.addEventListener('load',otherRelatedParts,false);}elseif(window.attachEvent){window.attachEvent('onload',otherRelatedParts);}但今天我尝试使用这样的自调用函数:(function(){otherRelatedParts();}())它似乎在所有浏览器中都有效,而且代码更少。这是将事件添加到窗口加载的首选

javascript - 为什么可以检查 (document.addEventListener) 是否返回 false

检查if(document.addEventListener)返回false的依据是什么?有什么办法可以改变这一点? 最佳答案 if(document.addEventListener)如果document中没有addEventListener方法,则计算结果为false。通常执行此检查是为了查看您是否可以使用此方法将事件附加到DOM元素(在除IE之外的大多数浏览器中都有效)。我们有办法改变这个吗?这个问题我完全不懂。对于IE,您可能需要类似document.attachEvent('onload',callback);的东西。您不

JavaScript 添加事件跨浏览器功能实现 : use attachEvent/addEventListener vs inline events

为了添加事件,我们可以使用这个简单的第一个解决方案:functionAddEvent(html_element,event_name,event_function){if(html_element.attachEvent)//InternetExplorerhtml_element.attachEvent("on"+event_name,function(){event_function.call(html_element);});elseif(html_element.addEventListener)//Firefox&companyhtml_element

javascript - addeventlistener 丢弃错误 "Uncaught TypeError: Illegal invocation"

我通过函数创建新的对象,我创建了要使用的sortable方法,但是回调函数有错误;"usestrict";(function(){functionlibJS(){};libJS.prototype={loopElement:function(element,options,callback){varlibObj=this;vargoesCallback=function(element,options,callback){if(!!callback&&libObj.isFunction(callback))callback(element,options

javascript - 嵌入元素的加载事件

如果我为嵌入式对象执行在线onload事件,这似乎可行,但我似乎无法通过addEventListenerload事件正常工作。这是预期的吗? 最佳答案 可能,但它可能取决于浏览器。windows和图像以及iframe使用addEventListener和attachEvent定义它们的加载事件,但其他加载事件是特定于浏览器的。例如,脚本或链接元素的加载不会附加到IE中。 关于javascript-嵌入元素的加载事件,我们在StackOverflow上找到一个类似的问题:

javascript - 如何检测浏览器对 pageShow 和 pageHide 的支持?

我们如何为pageShowandpageHide进行JavaScript对象检测?处理程序?if(/*pagehideissupported*/){window.addEventListener('pagehide',exitFunction,false);}else{window.addEventListener('unload',exitFunction,false);} 最佳答案 if('onpagehide'inwindow){window.addEventListener(&

javascript - addEventListener 在使用匿名函数传入参数时为同一个句柄触发多次

出于某种原因,事件监听器在将参数传递给匿名函数时会为每个元素触发两次。即,元素el上的点击事件将注册一次,因此触发一次。el.addEventListener("click",handle,false);el.addEventListener("click",handle,false);但如果我想将自己的参数传递给它,它会注册并触发两次。el.addEventListener("click",function(){handle(event,myArgument);},false);el.addEventListener("clic

javascript - addEventListener 及其范围

我有一个第三方flash对象,我可以通过他们提供的javascriptAPI对其进行操作。我正在尝试收听此对象上的事件,然后在我的对象内触发事件以进一步冒泡该事件。我碰巧正在使用EXTJs,但我认为它在这里不重要。示例代码this.chart.addEventListener('create',function(){this.fireEvent('created');},false)我的问题是匿名函数中的“this”指的是触发事件的对象,而不是我想要触发事件的对象。这是另一个范围问题。在此先感谢您的帮助。 最佳答案

javascript - 在不覆盖 iPhone 滚动行为的情况下在页面上嵌入 Google map

我正在优化一个移动网站。我们有一个位置页面,其中包含有关位置的信息和通过GoogleMapsAPI绘制的位置map。(v2-我知道它已被弃用,但我没有证明升级的时间,“如果它没有坏..”)我想使用单列布局,其中包含基本信息,然后是map,然后是更多信息。现在,当我用手指向下滚动iPhone上的移动页面时,一旦我到达map,页面滚动就会被覆盖,map开始平移。假设这样的空间可用,我向下滚动页面的唯一方法是将手指放在map上方或下方。如果我禁用map拖动,那么当我开始向下滚动并到达map时,它不会平移,但页面也不会滚动。我想将map视为我可以滚动过去的静态图像,但仍然允许缩放按钮并允许ma

javascript - 检测图像下载完成的最佳方法是什么 - onload 或 addEventListener()?

要检测图像何时完成下载,我应该使用哪种方法?image.onload=function(){}或image.addEventListener("load",function(){}); 最佳答案 加载:仅支持单个监听器。适用于所有浏览器。您可以通过清除onload属性来取消绑定(bind)事件处理程序。添加事件监听器:支持多个监听器。不适用于旧版IE浏览器(它们使用attachEvent)。您使用removeEventListener()取消绑定(bind)监听器,这需要识别原始eventListener的信息。如果