javascript - 如果用户在React js中单击 "open link in new tab",如何处理onClick代码

标签 javascript reactjs

当用户单击我的 react 项目中的按钮时,我想运行一些跟踪代码。但是,如果用户在新选项卡中打开单击处理程序,则不会执行该处理程序。

React js 有没有解决办法。

简单的例子:

var Hello = React.createClass({
    render: function() {
        function click(event) {
            event.preventDefault();
            console.log('You can see me even is user clicked on "open link in new tab"')
        }
        return <div >
            < a href = '#'
        target = "_blank"
        onClick = { click } > Go there < /a> < /div>;
    }
});

React.render( < Hello / > , document.body);

最佳答案

这应该可以正常工作 -

  const Hello =  React.createClass({

          click(event) {
                    //here this is the component
                    event.preventDefault();
                    console.log('You can see me even is user clicked on "open link in new tab"')
          },

          render() {
           return <div >
                    < a href = '#'
                target = "_blank"
                onClick = { this.click ///or this.click.bind(this) if you want to have this point to the component } > Go there < /a> < /div>;
          }
  });

关于javascript - 如果用户在React js中单击 "open link in new tab",如何处理onClick代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39710821/

相关文章:

javascript - 为什么将表单链接到连接到 php 的 javascript 文件时,浏览器中会显示 Javascript 代码?

javascript - JavaScript 条件表达式中的赋值

javascript - 尝试在 React Native 中将 mp3 文件作为参数传递,但出现错误。我该如何解决这个问题?我使用Expo-av作为引用

javascript - 将填充应用于段落的最后一行

javascript - 如何在媒体查询中使用 API 返回图像作为背景图像?

javascript - JS 表达式不能作为 ReactJS 中字符串的一部分工作?

javascript - 如何引用动态创建的元素?

javascript - Android WebView - 使用 Javascript 设置 HTML 字段焦点

javascript - 如何获取 javascript 对象属性的子集

javascript - React 点击处理函数在 2 次点击后开始工作