44 lines
1.5 KiB
HTML
44 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
</head>
|
|
<!-- jquery is not required for YXml. It is just here for convenience, and to test batch operations. -->
|
|
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
|
|
<script src="../../y.js"></script>
|
|
<script src='../../../y-websockets-client/y-websockets-client.js'></script>
|
|
<script src="./index.js"></script>
|
|
</head>
|
|
<body>
|
|
<h1> Shared DOM Example </h1>
|
|
<p> Use native DOM function or jQuery to manipulate the shared DOM (window.sharedDom). </p>
|
|
<div class="command">
|
|
<button type="button">Execute</button>
|
|
<input type="text" value='$(sharedDom).append("<h3>Appended headline</h3>")' size="40"/>
|
|
</div>
|
|
<div class="command">
|
|
<button type="button">Execute</button>
|
|
<input type="text" value='$(sharedDom).attr("align","right")' size="40"/>
|
|
</div>
|
|
<div class="command">
|
|
<button type="button">Execute</button>
|
|
<input type="text" value='$(sharedDom).attr("style","color:blue;")' size="40"/>
|
|
</div>
|
|
|
|
<script>
|
|
/* global $ */
|
|
var commands = document.querySelectorAll('.command')
|
|
Array.prototype.forEach.call(commands, function (command) {
|
|
var execute = function () {
|
|
// eslint-disable-next-line no-eval
|
|
eval(command.querySelector('input').value)
|
|
}
|
|
command.querySelector('button').onclick = execute
|
|
$(command.querySelector('input')).keyup(function (e) {
|
|
if (e.keyCode === 13) {
|
|
execute()
|
|
}
|
|
})
|
|
})
|
|
</script>
|
|
</body>
|
|
</html>
|