2

私のような質問がたくさんあることは知っていますが、重複しているとは思いません。

たとえば、onresizeやonshakeなど、独自のカスタムイベントを作成したいと思います。

そして、私はライブラリを作りたいのですが、私のライブラリのユーザーはそれを書くだけです:

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

私はstackoverflowに関する多くのチュートリアルと質問を見ましたが、それらはjQuery(カスタムイベントを作成するための最も単純な例が欲しい)を使用しているか、ユーザーは単に書くだけではいけませんwindow.addEventListener

カスタムイベントを追加する最も基本的な方法を教えてください。

4

2 に答える 2

2

私は最終的に答えを見つけました:

//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);
于 2012-06-08T12:25:58.157 に答える
1

何らかの方法でイベントをトリガーする必要があります。この回答は特に深みを与えてくれます: How to trigger event in JavaScript?

ただし、おそらくdocument代わりに使用する必要がwindowあります。

于 2012-06-07T19:49:28.150 に答える