委托点击事件不会触发后代

时间:2016-08-17 23:53:23

标签: javascript backbone.js

我有一个<select>视图,只要click事件发生在<option>mySelect = Backbone.view.extend({ el: '.my-select', events: { 'click': 'isSelected' }, isSelected: function(e) { console.log(e.currentTarget.tagName); } }); 上,我就会调用该方法。

视图如下所示:

isSelected()

目前,select仅在我点击options本身而不是'click option'时触发。

我已尝试'click *''click .my-select > option'<li>

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我想做的事情是不可能的,原因与Backbone完全无关!问题是在大多数浏览器中,鼠标/键盘事件不会在options上触发。

来自MDN:

  

历史上,Firefox允许键盘和鼠标事件从元素冒泡到父元素。但是,这不会发生在Chrome中,尽管此行为在许多浏览器中都不一致。

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option

导致我进入MDN的SO答案: onclick on option tag not working on IE and chrome