gpt4 book ai didi

javascript - Bootstrap 正在扼杀 Backbone/Marionette View 事件

转载 作者:行者123 更新时间:2023-12-04 02:13:55 26 4
gpt4 key购买 nike

主干 View 事件 block 绑定(bind)完美且令人敬畏,直到您在元素上调用 Bootstrap 方法。假设您有这样的看法:

events: { 'click .menu li.edit': '_doSomething' }

然后你有一个 Bootstrap 的东西:

$('.menu', this.$el).dropdown('toggle');

bootstrap.js中有一行:

var $el = $(element).on('click.dropdown.data-api', this.toggle)

...这会杀死 Backbone 绑定(bind)事件。

人们如何处理这个问题?我宁愿继续以“ Backbone 方式”做事。我不想在应用程序中处理“Bootstrap 方式”和其他“ Backbone 方式”中的某些东西。我喜欢一致性。

想法?

最佳答案

我实际上只使用了底层的 Backbone 样式。

例如,我的下拉菜单使用 Backbone 类,但不使用任何链接数据属性。在我看来,我触发了 backbone.js 会完成的样式更改。

class App.Views.Articles.Index.Controls extends Backbone.Marionette.Layout
template: JST['articles/index/controls']

regions:
pager: '#pager'

ui:
search_text: '#search-text'
add_dropdown: '#add'
add_dropdown_menu: '#add-dropdown-menu'

events:
'click #search-button': 'doSearch'
'click #add': 'toggleAddDropDown'



toggleAddDropDown: (event) ->
event.stopPropagation()
if @ui.add_dropdown.hasClass('open')
@ui.add_dropdown_menu.fadeOut('fast')
@ui.add_dropdown.removeClass('open')
else
@ui.add_dropdown.addClass('open')
@ui.add_dropdown_menu.fadeIn('fast')

关于javascript - Bootstrap 正在扼杀 Backbone/Marionette View 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16457859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com