代码之家  ›  专栏  ›  技术社区  ›  0leg

react jquery不将元素识别为引导模式

  •  0
  • 0leg  · 技术社区  · 6 年前

    目标: 访问引导模式 modal() 反应中的代码。

    有一个带有引导程序v4的React应用程序。

    包.json :

    {
      ...
      "dependencies": {
        "bootstrap": "^4.1.1",
        "jquery": "^3.3.1",
        "popper.js": "^1.14.3",
        "react": "^16.3.2",
        "react-dom": "^16.3.2",
        "react-router-dom": "^4.2.2",
        "react-scripts-ts": "2.8.0"
      },
      "scripts": {
        "start": "react-scripts-ts start",
        "build": "react-scripts-ts build",
        "test": "react-scripts-ts test --env=jsdom",
        "eject": "react-scripts-ts eject"
      },
      "devDependencies": {
        "@types/jest": "^22.2.3",
        "@types/node": "^9.6.18",
        "@types/react": "^16.3.14",
        "@types/react-dom": "^16.0.5",
        "@types/react-router-dom": "^4.2.6"
      },
      ...
    }
    

    现在想得到 模式() 通过chrome dev工具提供:

    enter image description here

    所以看起来:

    • 可以 见jquery;
    • 不能 认出 foo 作为引导程序的模式 模式() ;

    如何使jquery识别 作为 模式() ?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Sakata Gintoki    6 年前

    我不知道你的期望是什么。但是,如果要将元素作为引导模式对象,则必须至少调用一次该模式作为初始化。请检查我的代码段如下:

    $('.show-modal-btn').on('click', () => {
      let yourModalEl = $('#your-modal');
      console.log(yourModalEl.data('bs.modal')); // will be undefined
      yourModalEl.modal();
      console.log(yourModalEl.data('bs.modal')); // modal object
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://getbootstrap.com/docs/3.3/dist/js/bootstrap.min.js"></script>
    <link href="https://getbootstrap.com/docs/3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    
    <div class="modal fade" id="your-modal" tabindex="-1" role="dialog">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title">Modal title</h4>
          </div>
          <div class="modal-body">
            <p>One fine body&hellip;</p>
          </div>
        </div>
      </div>
    </div>
    
    <button class="show-modal-btn">Init modal</button>