【问题标题】:Jquery 'click' not firing when icon is on button当图标在按钮上时,Jquery'click'不会触发
【发布时间】:2013-06-09 17:33:39
【问题描述】:

我使用BootstrapjQuery。我有三个按钮,每个按钮都有一个图标。当我将click-event 绑定到一个按钮时,当我点击按钮(在边缘)时它会起作用,但当我点击它的中间时,它不会在图标上......

我的代码如下所示:

<div class="btn-group">
   <button class="btn btn_change_status" id="134" rel="tooltip" data-original-title="Tooltip">
      <i class="icon-eye-open"></i>
   </button>
   ... 
</div>

...

$('button.btn_change_status').on('click', function(e) {
   alert(e.target.id);
   return false;
});

如何将我的btn_change_status 包裹的所有元素绑定到点击事件?

【问题讨论】:

  • 你试过$(document).on('click', 'button.btn_change_status', function(e) {...});甚至$('button').on('click', '.btn_change_status', function(e) {...});吗?
  • 感谢您的回答。效果很好!

标签: javascript jquery button twitter-bootstrap click


【解决方案1】:

使用以下内容更新您的 CSS。我假设您的图标上不需要鼠标事件。

.icon-eye-open {

    pointer-events:none;
}

MDN Information regarding pointer-events

【讨论】:

  • 感谢这是与 vue.js v-on:click 一起使用的唯一方法,因为我无法以其他方式附加此事件! +100
【解决方案2】:

根据the documentation,您需要不同的语法:

$('body').on('click', 'button.btn_change_status', function(e) {
   alert(e.target.id);
   return false;
});

【讨论】:

  • 感谢您的回答,但现在看来 js 坏了,因为它什么也没做...当我点击按钮时,什么也没有发生...
【解决方案3】:

.on() 使用以下语法

$(document).on('click','btn_change_status', function(e) {
   //write your code here
});

【讨论】:

  • .btn_change_status,不是statu ;)
  • 感谢您的回答,但现在看来 js 坏了,因为它什么也没做...当我点击按钮时,什么也没有发生...
猜你喜欢
  • 2015-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-25
  • 2018-08-24
  • 2018-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多