How to bring a selected (clicked on) bootstrap popover forward when multiple popovers are open?

♀尐吖头ヾ 提交于 2019-12-25 04:56:09

问题


I am using a bootstrap popover on svg elements in D3. Multiple popovers can be open at any given time. What I would like to know is how to, on clicking on a popover at the back, to force it to move to the front i.e. being focused on?

Is there any way to increment the z-index of an individual popover to move it forward manually?

Thanks.

Edit:

I have managed to create a fiddle using the suggested answer. The problem arises that, with using the global variable, it increments the z-index correctly on the most forward popover, but after bringing one to the front I am not able to access the others i.e. to even click the ones behind...so the click handler is not even being called. I'm thinking there is some type of layering going on. For example: If you look at the children nodes and click on one (the link in the title of the popover), then click on another one to semi-overlap the first open one - click the one behind and it will move forward. Click the one that is now behind and nothing happens:

jsfiddle.net/Sim1/YME9j/9

Is there an alternative to incrementing the z-index to bring a popover forward without hampering interaction with those that are behind it?


回答1:


You should be able to do this in a click handler:

element.on("click", function() {
  d3.select(this).attr("z-index", d3.select(this).attr("z-index") + 1);
})

As @AmeliaBR pointed out, this won't really work if you have more than one popover though as the z-index is only incremented by one. In a case like this, you could have a global variable that keeps track of the maximum z-index and use that.



来源:https://stackoverflow.com/questions/21147748/how-to-bring-a-selected-clicked-on-bootstrap-popover-forward-when-multiple-pop

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!