【发布时间】:2016-06-17 10:12:20
【问题描述】:
在 jQuery 中,当html 元素上触发事件时执行一次操作非常简单。
例如:
$(".dropdown-trigger").on("click", function(event) {
var self = this;
$("html").one("click", function() {
$(self).parents(".dropdown").removeClass("active");
});
$(this).parents(".dropdown").toggleClass("active");
event.stopPropagation();
});
在 React 中,这并不容易。
如何在 React 中执行一个操作,当单击 html 元素时,只执行一次该操作(类似于我的 jQuery 代码)?
【问题讨论】:
-
@JCOC611 再次阅读问题; OP 正在询问如何设置一个处理程序,该处理程序在被触发一次后自动解除绑定。
-
OP,您可以使用状态标志来执行此操作,但您的 jQuery 示例代码表明这是一个 XY 问题。我永远不会使用
.one来执行清除下拉菜单之类的操作。 -
@Mathletics 谢谢。你能给我一个例子吗?我很乐意为您提供答案。
-
再次,这是an XY Problem。请告诉我们您要解决的问题以及您希望实现的目标。您在问如何实施特定(IMO 可能无效)的解决方案。
标签: javascript reactjs