Search results

Display Tooltip on SVG and canvas elements

Tooltip can be displayed on both SVG and Canvas elements. You can directly attach the <svg> or <canvas> elements to show tooltips on data visualization elements.

tagHelper
svg-canvas.cs
<div id="container">
        <div id="box" class="e-prevent-select">
            <ejs-tooltip id="tooltip01" content="SVG Square" target=".circletool">
                <e-content-template>
                    <div class="circletool" id="rectShape" style="left:1%;top:10%">
                        <svg>
                            <rect id="square" class="shape" x="50" y="20" width="50" height="50" style="fill:#FDA600;stroke:none;stroke-width:5;stroke-opacity:0.9" />
                        </svg>
                    </div>
                </e-content-template>
            </ejs-tooltip>
            <ejs-tooltip id="tooltip02" content="SVG Ellipse" target=".circletool">
                <e-content-template>
                    <div class="circletool" id="ellipseShape" style="top:65%;">
                        <svg>
                            <ellipse id="ellipse" class="shape" cx="100" cy="50" rx="20" ry="40" style="fill:#0450C2;stroke:none;stroke-width:2" />
                        </svg>
                    </div>
                </e-content-template>
            </ejs-tooltip>
            <ejs-tooltip id="tooltip03" content="SVG PolyShape" target=".circletool">
                <e-content-template>
                    <div class="circletool" id="polyShape" style="top:25%;left:40%">
                        <svg>
                            <polyline id="polyline" class="shape" points="0,40 40,40 40,80 80,80 80,120 120,120 120,160" style="fill:#ffffff;stroke:#0450C2;stroke-width:4" />
                        </svg>
                    </div>
                </e-content-template>
            </ejs-tooltip>
            <ejs-tooltip id="tooltip04" content="Canvas Circle" target=".circletool">
                <e-content-template>
                    <div class="circletool" id="circleShape" style="top:16%;left:72%">
                        <canvas id="circle" class="shape" width="60" height="60"></canvas>
                    </div>
                </e-content-template>
            </ejs-tooltip>
            <ejs-tooltip id="tooltip05" content="Canvas Triangle" target=".circletool">
                <e-content-template>
                    <div class="circletool" id="triShape" style="top:73%;left:76%">
                        <canvas id="triangle" class="shape" width="100" height="50"></canvas>
                    </div>
                </e-content-template>
            </ejs-tooltip>
        </div>
    </div>

<script>

    window.onload = function () {
        var canvas = document.getElementById('triangle');
        var context;
        if (canvas.getContext) {
            context = canvas.getContext('2d');
            context.beginPath();
            context.moveTo(0, 50);
            context.lineTo(100, 50);
            context.lineTo(50, 0);
            context.fillStyle = "#FDA600";
            context.fill();
        }
        canvas = document.getElementById('circle');
        context = canvas.getContext('2d');
        var centerX = canvas.width / 2;
        var centerY  = canvas.height / 2;
        var radius = 30;
        context.beginPath();
        context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
        context.fillStyle = '#0450C2';
        context.fill();

    };
</script>

<style>
  @@media (max-width: 500px) {
    #rectShape {
      /* csslint ignore:start */
      left: -11% !important;
      /* csslint ignore:end */
    }
    #ellipseShape {
      /* csslint ignore:start */
      left: -20% !important;
      /* csslint ignore:end */
    }
    #polyShape {
      /* csslint ignore:start */
      left: 28% !important;
      /* csslint ignore:end */
    }
    #circleShape {
      /* csslint ignore:start */
      left: 68% !important;
      /* csslint ignore:end */
    }
    #triShape {
      /* csslint ignore:start */
      left: 65% !important;
      /* csslint ignore:end */
    }
  }

  @@media (min-width: 500px) and (max-width: 600px) {
    #triShape {
      /* csslint ignore:start */
      left: 70% !important;
      /* csslint ignore:end */
    }
  }

  #container {
    width: 80%;
    margin: 0 auto;
  }

  .e-tooltip-css {
    filter: drop-shadow(2px 5px 5px rgba(0, 0, 0, 0.25));
  }

  #control-container {
    /* csslint ignore:start */
    padding: 0 !important;
    /* csslint ignore:end */
  }

  #box {
    border: 1px solid #dddddd;
    background: #ffffff;
    box-sizing: border-box;
    height: 320px;
    position: relative;
  }

  .circletool {
    position: absolute;
  }
</style>
public ActionResult MouseTrailing()
{
    return View();
}