Source code
Revision control
Copy as Markdown
Other Tools
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
input {
margin: 5px 3px 10px 10px;
}
div {
width: 100px;
height: 100px;
border: 1px solid #000;
}
</style>
<script type="application/javascript">
"use strict";
const jq = document.location.search.substr(1);
const script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", jq);
document.head.appendChild(script);
// If you update the content of the callback, remember to
// update helper_events_test_runner.js `getDocMarkupEventsJQueryLoadHandlerText`.
window.addEventListener("load", () => {
const handler1 = function liveDivDblClick() { alert(1); };
const handler2 = function liveDivDragStart() { alert(2); };
const handler3 = function liveDivDragLeave() { alert(3); };
const handler4 = function liveDivDragEnd() { alert(4); };
const handler5 = function liveDivDrop() { alert(5); };
const handler6 = function liveDivDragOver() { alert(6); };
const handler7 = function divClick1() { alert(7); };
const handler8 = function divClick2() { alert(8); };
const handler9 = function divKeyDown() { alert(9); };
const handler10 = function divDragOut() { alert(10); };
if ($("#livediv").live) {
$("#livediv").live( "dblclick", handler1);
$("#livediv").live( "dragstart", handler2);
}
if ($("#livediv").delegate) {
$(document).delegate( "#livediv", "dragleave", handler3);
$(document).delegate( "#livediv", "dragend", handler4);
}
if ($("#livediv").on) {
$(document).on( "drop", "#livediv", handler5);
$(document).on( "dragover", "#livediv", handler6);
$(document).on( "dragout", "#livediv:xxxxx", handler10);
}
const div = $("div")[0];
$(div).click(handler7);
$(div).click(handler8);
$(div).keydown(handler9);
class MyClass {
constructor() {
$(document).on("click", '#inclassboundeventdiv', this.onClick.bind(this));
}
onClick() { alert(11); }
}
new MyClass();
});
// Add properties on Array prototype to reproduce issue with Moo + jQuery listeners
// eslint-disable-next-line no-extend-native
Array.prototype.override_func = function() {
return "don't do this";
}
// eslint-disable-next-line no-extend-native
Array.prototype.override_obj = "don't do this";
</script>
</head>
<body>
<div id="testdiv"></div>
<br>
<div id="livediv"></div>
<br>
<div id="inclassboundeventdiv"></div>
</body>
</html>