67 lines
1.6 KiB
HTML
67 lines
1.6 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html lang="en">
|
|||
|
<meta charset="utf-8">
|
|||
|
<title>Eve Use Case</title>
|
|||
|
<script src="eve.js"></script>
|
|||
|
<script>
|
|||
|
var log = function (text) {
|
|||
|
log.log = log.log || [];
|
|||
|
log.log.push(text);
|
|||
|
};
|
|||
|
window.onload = function () {
|
|||
|
document.getElementById("res").innerHTML = log.log.join("<br>");
|
|||
|
};
|
|||
|
</script>
|
|||
|
<script>
|
|||
|
var f1, f2, f3, f4;
|
|||
|
|
|||
|
// setting up listeners
|
|||
|
eve.on("hit", f1 = function () {
|
|||
|
log(" I’m hit!");
|
|||
|
});
|
|||
|
eve.on("hit/face", f2 = function () {
|
|||
|
log(" Oh, my face!");
|
|||
|
});
|
|||
|
eve.on("hit/chest", f3 = function () {
|
|||
|
log(" Oh, my chest!");
|
|||
|
});
|
|||
|
eve.on("hit/*/leg", f4 = function () {
|
|||
|
log(" Ouch!");
|
|||
|
});
|
|||
|
eve.once("hit", function () {
|
|||
|
log(" You scoundrel!");
|
|||
|
})(-1);
|
|||
|
|
|||
|
// fire events
|
|||
|
log("In your face!");
|
|||
|
eve("hit/face");
|
|||
|
// I’m hit!
|
|||
|
// Oh, my face!
|
|||
|
log("Take that!");
|
|||
|
// You can use “.” or “/” as delimiter
|
|||
|
eve("hit.chest.leg");
|
|||
|
// I’m hit!
|
|||
|
// Oh, my chest!
|
|||
|
// Ouch!
|
|||
|
|
|||
|
// Unbinding
|
|||
|
log("");
|
|||
|
eve.unbind("hit", f3);
|
|||
|
log("Take that!");
|
|||
|
eve("hit.chest.leg");
|
|||
|
// I’m hit!
|
|||
|
// Ouch!
|
|||
|
|
|||
|
// Unbinding by wildcard
|
|||
|
log("");
|
|||
|
eve.unbind("hit/*");
|
|||
|
log("In your face!");
|
|||
|
eve("hit.face");
|
|||
|
// I’m hit!
|
|||
|
log("Take that!");
|
|||
|
eve("hit.chest.leg");
|
|||
|
// I’m hit!
|
|||
|
</script>
|
|||
|
<pre id="res"></pre>
|
|||
|
</html>
|