We can access HTML elements using refs object. As a first step we add a ref attribute to a DOM element and access it using this.ref in the script block of the tag.
Attach ref − Add ref attribute to a DOM element.
<button ref = "clickButton">Click Me!</button>
Use the refs object − Now use the refs object in mount event. This event is fired when RIOT mounts the custom tag and it populates the refs object.
this.on("mount", function() { this.refs.clickButton.onclick = function(e) { console.log("clickButton clicked"); return false; }; })
Following is the complete example.
<custom6Tag> <form ref = "customForm"> <input ref = "username" type = "text" value = "Mahesh"/> <button ref = "clickButton">Click Me!</button> <input type = "submit" value = "Submit" /> </form> <script> this.on("mount", function() { this.refs.clickButton.onclick = function(e) { console.log("clickButton clicked"); return false; }; this.refs.customForm.onsubmit = function(e) { console.log("Form submitted"); return false; }; }) </script> </custom6Tag>
<html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/riot/3.13.2/riot+compiler.min.js"></script> </head> <body> <custom6Tag></custom6Tag> <script src = "custom6Tag.tag" type = "riot/tag"></script> <script> riot.mount("custom6Tag"); </script> </body> </html>
This will produce following result −