【问题标题】:Add Open OnClick event to script (React/JSX)将 Open OnClick 事件添加到脚本 (React/JSX)
【发布时间】:2015-12-18 13:55:24
【问题描述】:

我们有一个用 JavaScript (React/JSX) 构建的菜单。通过样式,菜单项在悬停时打开。

我的问题:

  1. 我可以在代码的哪个位置添加 OnClick 事件,以便使用 JavaScript 打开菜单,而不是使用 CSS 打开悬停菜单?

  2. 当点击菜单外的区域时,有没有办法关闭菜单?如果是这样,可以住在哪里,它会是什么?

    var LanguageList = React.createClass({ 渲染:函数(){ return DOM.div({'id': 'language-menu', 'className': 'language-menu'}, DOM.a({'id':'语言选择', 'className':'lm-arrow 语言项', 'href': 'http://google.com', '标题':'谷歌', 'dangerouslySetInnerHTML': { '__html': '谷歌' }}) , DOM.ul({ 'id': '语言列表', 'className': '语言列表'} , DOM.li({}, DOM.a({'className':'lang-item', 'href': 'http://google.com/site1', '标题':'站点1', 'dangerouslySetInnerHTML': { '__html': '站点 1' }}))

【问题讨论】:

  • 只是我的建议。确保下次你更好地格式化你的问题。这里的大多数人都是忙碌的人,如果你这样问,他们不会试图解读你的问题。您真的应该感谢“Davide Ungari”的回答。

标签: javascript css menu reactjs react-jsx


【解决方案1】:

render定义之前定义一个处理函数,然后将该函数作为onClick属性的值。

var LanguageList = React.createClass({
    handlerOnClick: function() { ... },
    render: function() {
        return DOM.div({
            'id': 'language-menu',
            'className': 'language-menu'},
            'onClick': this.handlerOnClick,

This documentation should help you as well.

【讨论】:

  • 谢谢 ungarida。这里会发生什么:{ ... }?
  • 这是您要触发 onClick 事件的代码,也就是您在第 1 部分中提到的代码。
猜你喜欢
  • 2019-07-05
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 2017-02-26
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
相关资源
最近更新 更多