我正试图弄清楚如何通过手动点击配置多个twitter bootstrap的popovers。
但首先是一些代码:
# bootstrap.js.coffee
# this opens a popover with new server data
$('*[data-poload]').bind 'click', ->
$this = $(this)
$.get $this.data('poload'), (d) ->
$this.popover
content: d
html: true
title: $this.parents("tr").data("title")
.popover 'show'
# this handles clicks everywhere on the page and decides what to do if it finds opened popovers
$("html").click (e) ->
$('*[data-poload]').each ->
$(this).popover "hide" if not ($(this).is(e.target) or $(this).has(e.target).length > 0) and $(this).siblings(".popover").length isnt 0 and $(this).siblings(".popover").has(e.target).length is 0
这是可以发现的链接。我在同一页面上有数百个具有不同data-poload属性的文件:
<a href="#" data-poload="/resources/some-id/popover">Text</a>
我的服务器将使用一些html响应此弹出框中的请求/resources/some-id/popover
。
如果点击一个popover,我想要发生什么:
如果我点击其他地方:
问题:
我尝试了return false
这样的
# bootstrap.js.coffee
$('*[data-poload]').bind 'click', ->
$this = $(this)
$.get $this.data('poload'), (d) ->
$this.popover
content: d
html: true
title: $this.parents("tr").data("title")
.popover 'show'
false
但这不起作用,因为下一个js位不会被触发。一个应该关闭其他popovers的人。点击其他地方的工作 当然。