绑定在动态生成的HTML中不起作用

Binding not working in dynamically generated HTML

本文关键字:HTML 不起作用 动态 绑定      更新时间:2023-09-26

我正在创建聊天框,该聊天框是在点击联系人时动态生成的。在动态生成的HTML中,我有一个文本区域来输入一些文本,这里是HTML

<div class="chatboxinput">
  <textarea id="chatboxtextareaankur" class="chatboxtextarea" keydown.delegate="checkChatBoxInputKey($event, 'id', 'name')"></textarea>
</div>

但是方法"checkChatBoxInputKey"不会在任何键关闭事件上执行。请让我知道如何解决这个问题。

它不起作用,因为Aurelia的视图编译器没有机会编译动态生成的标记来查找绑定等。

使用if绑定可以从DOM中添加/删除元素。这里有一个例子:

http://plnkr.co/edit/kBUz94?p=preview

<template>
  <button click.delegate="showChatBox = true">Show Chat Box</button>
  <div if.bind="showChatBox" class="chatboxinput">
    <textarea id="chatboxtextareaankur" class="chatboxtextarea" keydown.delegate="checkChatBoxInputKey($event)"></textarea>
  </div>
</template>
export class App {
  checkChatBoxInputKey(e) {
    console.log(e.which);
    return true;
  } 
}