我有一个包含 Bootstrap 模式的主干视图。在那个观点上,我试图让 Esc 键关闭模式,但它是否有效,似乎取决于<div>
'tabindex
属性的存在:
var ModalView = Backbone.View.extend({
el: '#modalOverlay', // is an existing container for modals
events: {
'keypress': function(event) { ... }
},
initialize: function(options) {
// the view pattern
this.compiledTemplate = Handlebars.compile(yesNoQuestionAlertTemplate);
this.options = options;
this.render(options);
},
});
yesNoQuestionAlertTemplate
包含属性,该tabindex
属性定义了对转义键的正确处理。当我删除属性时,转义不起作用,当我把它放回去时,处理程序被正确触发。
<div id="yesNoQuestion" class="modal large" tabindex="-1" aria-hidden="true">
<!-- modal definition -->
</div>
为什么会存在这种奇怪的依赖关系?