创建关闭事件以从自定义覆盖发射
Create Close Event To Emit from Custom Overlay
所以我有一个使用backbone.js和coffeescript的rails应用程序。我创建了一个名为"Overlay"的主干视图,看起来像这样:
class MyApp.Views.Overlay extends Backbone.View
template: JST['overlay']
contentDiv: ->
$('.overlay-content')
initialize: (options) ->
@content = options.content
@width = options.width
render: ->
@$el.append @template()
@contentDiv().append @content
events: ->
'click': 'overlayClick'
'click .close': 'removeOverlay'
overlayClick: (event) ->
target = $(event.target)
unless target.hasClass('overlay-content') or target.parents('.overlay-content').length > 0
@removeOverlay()
removeOverlay: ->
@$('.overlay').remove()
和我的模板(它是hamljs)
.overlay
.overlay-content
%a.close Close
我称之为
@overlay = new MyApp.Views.Overlay(el: 'body', content: 'some content)
@overlay.render()
这真的很简单,基本上你可以给它传递一些任意的字符串或html来在覆盖中渲染,它会给主体添加一个漂亮的lil覆盖。
我想做的是在视图中编写一些代码,处理这个覆盖层的生成,如下所示:
@overlay.on('close', someFunction)
然而,我根本不知道该怎么做。有什么建议吗?
您可以使用主干从视图触发事件
removeOverlay: ->
@$('.overlay').remove()
@trigger('close')
相关文章:
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 使用自定义css在页面中弹出,而不覆盖页面's css
- 如何使用自定义功能覆盖时间轴对象.js时间轴对象的_repaintMinorText
- 创建关闭事件以从自定义覆盖发射
- 用我自己的自定义快捷方式覆盖浏览器快捷方式
- 设置自定义覆盖和多边形的任意z索引顺序
- 导入 serval WebComponent 时,上一个自定义元素被下一个元素覆盖
- 浏览器提供的自定义/覆盖错误消息
- 为什么 Angular ng-cloak 即使使用自定义指令也会覆盖我的 ng-show
- Woocommerce核心脚本覆盖自定义CSS样式
- javascript覆盖在自定义html元素上
- ko-jquery自动完成自定义绑定将覆盖以前的绑定
- 使用自定义Woocommerce支付网关的“下订单按钮”的Javascript覆盖
- 如何在谷歌地图API v3上自定义一个地面覆盖图标动画
- 覆盖浏览器's CTRL+F,并将其替换为Silverlight自定义搜索
- 自定义约曼发电机可以't覆盖文件
- 过滤谷歌地图自定义覆盖取决于他们是否落在当前的地图边界
- 使用Google地图自定义覆盖来创建自定义图标(使用Raphael JS)
- 谷歌地图-画布自定义覆盖缩放
- 从谷歌地图删除自定义覆盖