javascript中的自定义事件

javascript中的自定义事件,javascript,Javascript,我知道有很多像我这样的问题,但我不认为这是重复的 我想创建自己的自定义事件,例如onresize或onshake 我想制作一个库,然后我的库的用户会写下: <script src="theLib.js" ></script> <script> window.addEventListener("shake",myFunc,false); </script> window.addEventListener(“shake”,myFunc,false)

我知道有很多像我这样的问题,但我不认为这是重复的

我想创建自己的自定义事件,例如onresize或onshake

我想制作一个库,然后我的库的用户会写下:

<script src="theLib.js" ></script>
<script>
window.addEventListener("shake",myFunc,false);
</script>

window.addEventListener(“shake”,myFunc,false);
我看到了很多关于stackoverflow的教程和问题,但要么他们使用jQuery(我希望最简单的示例可以生成自定义事件),要么用户不能只编写
窗口。addEventListener


你能给我解释一下添加自定义事件的最基本方法吗?

你可能想以某种方式触发该事件。这个答案给出了特别好的深度:


您可能需要使用
文档
而不是
窗口

我终于找到了答案:

//Library part
var evt=document.createEvent("Event");
evt.initEvent("foo",true,true);
function blah()
{
    window.dispatchEvent(evt);
}
window.addEventListener("load",blah,false);

//User part
window.addEventListener("foo",function(){alert("Hi");},false);

好奇还是真正的需要?为什么不想使用jQuery?有一篇关于(
document.createEvent
)的很棒的MDN文章可能重复(related)Is document.createEvent跨浏览器?据我所知,通过使用
initEvent
方法,您可以创建一个事件,该事件可以在任何元素上触发——文档、窗口、文本字段,无论什么因此,您只需在触发该事件的任何对象上使用
addEventListener
。我在文档的任何地方编写测试(例如,测试iphone是否摇晃)。不管在哪里。问题是要弄清楚手机什么时候震动了,但看起来你已经处理好了。然后,我写
function dataavailable(){/*Tests*/}
然后是的代码,然后是
window.addEventListener(“dataavailable”,otherFunc,false)???????