Javascript addEventListener函数 [英] Javascript addEventListener function

查看:100
本文介绍了Javascript addEventListener函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新来的事件处理程序,我遇到了一个写在下面的代码:

  document.addEventListener(DOMContentLoaded ,function(){
initialiseMediaPlayer();
},false);


$ b $编写相同的代码是否有区别b

  document.addEventListener(DOMContentLoaded,initialiseMediaPlayer(); false); 

最终我们调用的是相同的函数,所以它有所作为,或者在写作方面有一些优势它以上述方式?

解决方案

  document.addEventListener(DOMContentLoaded,function(){
initialiseMediaPlayer();
},false);

执行 initialiseMediaPlayer (DOMContentLoaded,initialiseMediaPlayer(); false); / /文档。

是一个语法错误;如果您删除分号:

  document.addEventListener(DOMContentLoaded,initialiseMediaPlayer(),false); 

立即调用 initialiseMediaPlayer ,然后将返回值(可能不是函数)到 addEventListener 。这不会按预期行事。






您可以这样做

  document.addEventListener(DOMContentLoaded,initialiseMediaPlayer,false); 

(删除括号=函数调用)。然后 initialiseMediaPlayer 将在加载的dom内容上执行,并按需要执行。然而,与前一种情况不同, initialiseMediaPlayer 实际上会接收浏览器给出的参数。此外,它的返回值由浏览器接收。在 DOMContentLoaded 的情况下,很可能这并不重要。



您还可以避免创建一个额外的匿名函数如果你直接传递 initialiseMediaPlayer 。同样,从用户的角度来看,效果并不是真正可以察觉的。


I am new to Event Handlers and I have come across a code that is written below

document.addEventListener("DOMContentLoaded", function() {
    initialiseMediaPlayer();
}, false);

Is there any difference in writing the same code as

document.addEventListener("DOMContentLoaded", initialiseMediaPlayer();, false);

Ultimately we are calling the same function, so does it make a difference or is there some advantage in writing it in the manner above?

解决方案

document.addEventListener("DOMContentLoaded", function() {
    initialiseMediaPlayer();
}, false);

Will execute initialiseMediaPlayer when the dom content is loaded.

document.addEventListener("DOMContentLoaded", initialiseMediaPlayer();, false);

is a syntax error; if you remove the semicolon:

document.addEventListener("DOMContentLoaded", initialiseMediaPlayer(), false);

calls initialiseMediaPlayer immediately, then passes the return value (which likely isn't a function) to addEventListener. This won't act as desired.


You can do

    document.addEventListener("DOMContentLoaded", initialiseMediaPlayer, false);

(remove the parentheses = function call). Then initialiseMediaPlayer will be executed on dom content loaded, and act as desired.

However, unlike in the former case, initialiseMediaPlayer will actually receive the arguments given by the browser. Also, its return value is received by the browser. In case of DOMContentLoaded, most likely this doesn't matter much.

You also avoid creating one extra anonymous function if you pass initialiseMediaPlayer directly. Again, the effect is not really perceptible from the user's standpoint.

这篇关于Javascript addEventListener函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆