【问题标题】:Getting top and left on Mouse click event dynamically动态获取鼠标点击事件的顶部和左侧
【发布时间】:2017-08-09 20:07:57
【问题描述】:

我的目标是在单击button 时获得cursortopleft 位置并将其分配给popover。这样做的目的是让popover 准确地出现在它被点击的位置。请参考https://jsfiddle.net/VUZhL/2684/

<a id="example" class="btn btn-primary" rel="popover" (click)="showCords($event)"
   data-content="This is the body of Popover"
   data-original-title="Creativity Tuts">pop
</a> 

在这里onclick 事件我调用function 来获取clientXclientY

但似乎没有任何效果。我是bootstrap 的新手,刚开始学习,甚至不知道这是否可行。最糟糕的是我应该只使用javascript而不是JQUERY。甚至 JSFiddle 也只是一个基本的。

感谢任何帮助。

提前谢谢:)

更新:

  function showCords(event) {
    var x = event.clientX;
    var y = event.clientY;
    var coords = "X coords: " + x + ", Y coords: " + y;
    document.getElementById("example").setAttribute("data-content", coords);
     document.getElementById("example").style.left="x";
     document.getElementById("example").style.top="y";
    $('#example').popover();
  }

有人能告诉我我正在做的确切错误是什么吗?我正在尝试做这样的事情http://codepen.io/rm89/pen/aNOmzQ 这里我的弹出框必须位于我点击按钮的位置。

更新 2:

How to open a popover on the mouse click location 。上面链接中的答案是实际需要但不幸的是它在 JQUERY 中。有人可以帮助我将答案转换为 JAVASCRIPT

【问题讨论】:

    标签: css twitter-bootstrap mouseevent popover


    【解决方案1】:

    给你JSFiddle

    第一 在元素上使用 onclick 而不是 (click)second 创建如下所示的 javascript 函数并使用 clientXclientY 获取顶部或左侧,如果您使用 event 获取变量,您应该发送它是event 而不是$event,如果你想在popover() 上显示它,你应该将它设置在data-content

      function showCords(event) {
        var x = event.clientX;
        var y = event.clientY;
        var coords = "X coords: " + x + ", Y coords: " + y;
        document.getElementById("example").setAttribute("data-content", coords);
        $('#example').popover();
      }
    

    【讨论】:

    • 感谢您的回复[onse.但是弹出窗口没有被触发??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 2019-03-21
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多