Учебники

RIOT.JS – Доступ к DOM

Мы можем получить доступ к элементам HTML, используя объект refs. В качестве первого шага мы добавляем атрибут ref к элементу DOM и получаем к нему доступ, используя this.ref в блоке сценария тега.

  • Присоединить ref – добавить атрибут ref к элементу DOM.

Присоединить ref – добавить атрибут ref к элементу DOM.

<button ref = "clickButton">Click Me!</button>
  • Используйте объект refs – теперь используйте объект refs в событии монтирования. Это событие вызывается, когда RIOT монтирует пользовательский тег и заполняет объект refs.

Используйте объект refs – теперь используйте объект refs в событии монтирования. Это событие вызывается, когда RIOT монтирует пользовательский тег и заполняет объект refs.

this.on("mount", function() {
   this.refs.clickButton.onclick = function(e) {
      console.log("clickButton clicked");
      return false;
   };
})

пример

Ниже приведен полный пример.

custom6Tag.tag

<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>

custom6.htm

<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>

Это даст следующий результат –