Bootstrap下拉菜单上的JS clickEvent目标

时间:2019-09-16 18:25:03

标签: javascript jquery twitter-bootstrap

我正试图找到如何触发clickEvent对象。这是Codepen链接

https://codepen.io/rpmcmurphy/pen/WNegvQd?editors=1011

在这里,当我单击下拉菜单项时,将触发clickEvent,但是当单击按钮时,不会。没有太多文档可以找到clickEvent以及如何触发clickEvent。

这是代码-

HTML

<div class="dropdown">
  <button class="btn mt-5 ml-5 dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <button class="dropdown-item" href="#">Something else here</button>
  </div>
</div>


<button class="btn mt-2 ml-5 ola">Ola</button>

JS

 $('.dropdown').on('hide.bs.dropdown', function (e) {
  console.log(e.clickEvent.target);
});

$('.ola').on('click', function(e) {
   console.log(e.clickEvent.target);
});

2 个答案:

答案 0 :(得分:0)

从您的日志中删除clickEvent并仅使用“ e.target”

答案 1 :(得分:0)

正在触发click事件。只是您在.ola函数中收到的对象与其他函数不同。

如果您需要直接访问元素,则可以编写

$('.ola').on('click', function(e) {
   console.log(e.currentTarget);
});

供以后参考,如果您在控制台中看到错误,通常可以帮助您查看整个对象,而不仅仅是其属性。

例如

$('.ola').on('click', function(e) {
   console.log(e);
});