开发者问题收集

通过 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