通过 document.createelement 生成的动态元素的 onClick 设置
2017-03-15
114
我正在尝试设置动态生成元素的 onClick 函数。该函数必须设置状态。
var root = document.getElementById("results_container");
var title = document.createElement('a');
title.setAttribute("id", 'title');
title.onclick = function () {
this.setState({
isOpen: !this.state.isOpen
});
}.bind(this)
我收到 Uncaught TypeError:无法读取未定义的属性“state”,我假设 onclick 函数无法达到 this.state。请帮忙
2个回答
您可以使用 jQuery 函数
on
。它甚至可以在新生成的元素中绑定操作。
$(document).on('click', '#test', function() {
// statement here
})
供您参考: jQuery .on()
Player1
2017-03-15
您的
此
变量是未定义的...如果您使用的是React,则需要在某个地方存储对组件实例的引用(
this
),然后将其传递给您的绑定功能。但是,这可能是一种非常糟糕的方法。如果您使用的是React,则可能想要更多类似的东西:
726774135
Joseph Nields
2017-03-15