javascript - React onClick 根本不触发

标签 javascript reactjs onclick jsx

我有一个 anchor 标记,其中一个组件中的 onClick 正在由另一个组件呈现。它看起来像这样:

<a href="javascript:void(0);" className="btn btn-link" onClick={this.closeThing.bind(this)}>Close</a>

this.closeThing 已定义,当我使用 React Dev 工具时,我可以看到它知道 onClick。但这里的 onClick 不起作用,即使我更改为仅记录乱码以进行测试的匿名函数。无论我想在单击时执行什么功能,当我单击“关闭”时什么也不会发生。

我尝试将事件作为参数并调用 e.preventDefault函数中的第一件事。

我使用 ES6 类语法来声明 React 组件。

还有其他人遇到过这种情况吗?真是令人难以置信。

哦,这也曾经有效,但我现在唯一改变的是我将它从 jsx 文件更改为 js 文件,因为我正在使用 System.js 来利用 ES6 模块。但一切都很好,除了 onClick 不起作用。

编辑:问题似乎是我在页面上加载了两个不同的 React“实例”。 :T 一份来自 ES6 模块,一份来自 CDN URL。将 CDN URL 切换为 System.js 导入解决了问题。

最佳答案

浏览器控制台是否显示任何异常?也可能是 UI 问题,可能是您的关闭区域元素被某些透明元素覆盖,而该透明元素不允许单击实际元素。

关于javascript - React onClick 根本不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36049720/

相关文章:

javascript - 如何打开/关闭? (JavaScript)

javascript - 增加一个数字并将其附加到函数

javascript - Angular.js 需要至少一个复选框

reactjs - 如何在 React 中单击按钮时渲染组件?

javascript - 我可以制作一个共享的reactjs验证组件吗?

javascript - 如何在 React 中迭代 JSON 数据并动态创建和填充组件?

Javascript - 在循环中动态分配 onclick 事件

javascript - 将 onClick 从 HTML 迁移到 Javascript 文件

javascript - JQDateRangeSlider更改开始/结束值

Javascript:将 javascript 中的 HTML 代码放入框架中