原生js怎么动态的绑定事件

  1. 我用的vue,用了json-editor这个插件,我需要给textarea标签所有data-schemaformat="html"类型绑定focus事件,还有新添的textarea也要绑定

    <textarea data-schemaformat="html" name="root[title]"></textarea>
  2. 我用了queryselectorall addeventlistener 都不行

  3. 请问用原生的js怎么解决

  4. 请大家看好问题,html是json-editor插件生成的,我怎么来给所有的textarea包括心生成的textarea绑定onfocus


慕姐4208626
浏览 400回答 1
1回答

月关宝盒

1.用MutationObserver监控DOM变化,有新添加的textarea则添加绑定(不兼容旧IE)2.或者直接在父元素上绑定,通过判断target做对应处理&nbsp; &nbsp; &nbsp; &nbsp; document.querySelector('body').addEventListener('focus', (ev) => {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (ev.target.nodeName === 'TEXTAREA' && event.target.dataset['schemaformat'] === 'html') {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* ... */&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log('123')&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }, true)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript