Javascript 模板文本内的事件回调
大家好,我是javascript新手,我正在尝试使用模板文本对用户的点击事件执行回调函数。但是,正在对模板的求值执行回调 row方法由另一个传递项和回调函数的类调用Javascript 模板文本内的事件回调,javascript,template-literals,Javascript,Template Literals,大家好,我是javascript新手,我正在尝试使用模板文本对用户的点击事件执行回调函数。但是,正在对模板的求值执行回调 row方法由另一个传递项和回调函数的类调用 类Clazz{ 行(项,删除回调){ 返回`` } }我认为更好的方法是从行返回元素,而不是HTML字符串。像这样: class Clazz { row(item, deleteCallback){ const a = document.createElement('a'); a.href = '#';
类Clazz{
行(项,删除回调){
返回``
}
}
我认为更好的方法是从行
返回元素,而不是HTML字符串。像这样:
class Clazz {
row(item, deleteCallback){
const a = document.createElement('a');
a.href = '#';
a.onclick = () => deleteCallback(item.requestId);
return a;
}
}
然后可以使用
append
、after
或类似的方法将其添加到DOM中。我认为更好的方法是从行
返回元素,而不是HTML字符串。像这样:
class Clazz {
row(item, deleteCallback){
const a = document.createElement('a');
a.href = '#';
a.onclick = () => deleteCallback(item.requestId);
return a;
}
}
然后可以使用
append
、after
或类似的方法将其添加到DOM中。deleteCallback(item.requestedId)
是一个函数调用,而不是事件处理程序所期望的函数引用<代码>${}将执行其中的任何内容。但调用可能返回一个函数;)完全可能,除了与第一段问题陈述不匹配外,^我想问题是如何使用row()
的结果?因为您试图将回调函数变量粘贴到html中,将其转换为文本以解析为html。我的直觉是,只要用这个方法创建一个a
标记和addEventListener
,但是使用row()
的任何东西都可能期望字符串作为response@Taplar内联事件监听器(这里是内联事件监听器)不需要函数引用。他们只需要一个任意的JS块。不过,内联事件侦听器是不好的做法。deleteCallback(item.requestedId)
是事件处理程序所期望的函数调用,而不是函数引用<代码>${}将执行其中的任何内容。但调用可能返回一个函数;)完全可能,除了与第一段问题陈述不匹配外,^我想问题是如何使用row()
的结果?因为您试图将回调函数变量粘贴到html中,将其转换为文本以解析为html。我的直觉是,只要用这个方法创建一个a
标记和addEventListener
,但是使用row()
的任何东西都可能期望字符串作为response@Taplar内联事件监听器(这里是内联事件监听器)不需要函数引用。他们只需要一个任意的JS块。不过,内联事件侦听器是一种糟糕的做法。