首页 > 解决方案 > 使用 history.push(/url) onlick 后 /url 页面中的 Javascript 函数不起作用

问题描述

这是我隐藏/显示登录密码的 js 函数,但是当我使用 history.push(/login) 从另一个页面重定向到登录页面时,该函数不起作用。并且将 (/login) 放入标签中的 href 时,它可以工作。我怎样才能解决这个问题?谢谢你。注意:我不想刷新我的网站,所以我不想使用 href 或 forceRefresh。

var showPassword = function () {
  $('.show-pass').click(function (e) {
    var grand = $(this).parent();
    var type = $("#show-password", $(grand)).attr('type');
    switch (type) {
      case 'password':
        {
          $("#show-password", $(grand)).attr('type', 'text');
          $(".icon-invisible", $(grand)).removeClass('icon-invisible').addClass('icon-visible');
          return;
        }
      case 'text':
        {
          $("#show-password", $(grand)).attr('type', 'password');
          $(".icon-visible", $(grand)).removeClass('icon-visible').addClass('icon-invisible');
          return;
        }
    }
  });
};

我的路由器的一部分包含 /login

<Route  path="/login" component={SignIn}/>

这是我的输入密码:

<div className="form-group is-password">
  <input onChange={this.onPasswordChange} className="c-placeholder-login form-control" type="password" placeholder="Mật khẩu" tabIndex={2} id="show-password" />

  <button className="c-login__pass show-pass" style={{backgroundColor: "transparent"}}> <i className="icon-invisible" /></button>
</div>

标签: javascriptreactjs

解决方案


正确地路由并且还像这样将 index.js 文件包裹在 BrowserRouter 周围 =<BrowserRouter> <App.js /> </BrowserRouter>


推荐阅读