JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.js"></script>
<ul>
  <li>Title 1</li>
  <li>Title 2</li>
  <li>Title 3</li>
  <li>Title 4</li>
  <li>Title 5</li>
  <li>Title 6</li>
  <li>Title 7</li>
  <li>Title 8</li>
  <li>Title 9</li>
  <li>Title 10</li>
  <li>Title 11</li>
  <li>Title 12</li>
  <li>Title 13</li>
  <li>Title 14</li>
  <li>Title 15</li>
  <li>Title 16</li>
  <li>Title 17</li>
</ul>

CSS

ul {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

ul{
  list-style:none;
  padding:0;
  margin:0;
  height:400px;
  overflow-y:auto;
}

ul li{
  padding:12px;
  border-bottom:1px solid #000;
}

JavaScript

$(function(){
  var curDown = false,
      curYPos = 0,
      curXPos = 0;
  $("ul").mousemove(function(m){
    if(curDown === true){
     $("ul").scrollTop($("ul").scrollTop() + (curYPos - m.pageY)); 
     $("ul").scrollLeft($("ul").scrollLeft() + (curXPos - m.pageX));
    }
  });
  
  $("ul").mousedown(function(m){
    curDown = true;
    curYPos = m.pageY;
    curXPos = m.pageX;
  });
  
  $("ul").mouseup(function(){
    curDown = false;
  });
})