我正在创建聊天框,该聊天框是通过点击联系人动态生成的。 在动态生成的HTML中,我有一个textarea来输入一些文本,这里是HTML
<div class="chatboxinput">
<textarea id="chatboxtextareaankur" class="chatboxtextarea" keydown.delegate="checkChatBoxInputKey($event, 'id', 'name')"></textarea>
</div>
但是“checkChatBoxInputKey”方法没有在任何按键事件上执行。 请让我知道如何解决这个问题。
答案 0 :(得分:3)
它不起作用,因为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;
}
}