Vue.directive('enterNextInput', { inserted: function (el, callback) { el.addEventListener("keypress",function(e){ e = e || window.event; let charcode = typeof e.charCode == 'number' ? e.charCode : e.keyCode; if(charcode == 13){ var dom = document.getElementsByClassName('input') let list = [] for (let i = 0; i < dom.length; i++) { let node = dom[i].childNodes; if(node.length > 0){ node.forEach(v=>{ if(v.nodeName == 'TEXTAREA' || v.nodeName == 'INPUT'){ list.push(v) } }) } } for(let j = 0; j <= list.length ;j++){ if (list[j] == document.activeElement) { if (j ==list.length-1) { return } list[j+1].focus() return } } } }); } });