JSFiddle - React, Tailwind, and code Playground

HTML

<form>
	<textarea id="div"></textarea>
</form>

CSS

#div {
	display: inline-block;
	width: 300px;
	height: 150px;
	border: 1px solid #000;
}
#div::-moz-selection {
    background-color: #fff;
}
#div::selection {
    background-color: #fff;
}

JavaScript

window.onload = function () {
	var div = document.getElementById('div'),
		preventDefault = function (e) {
			if (e.preventDefault) {
				e.preventDefault();
			}
			e.returnValue = false;
			return false;
		};
	if (div.attachEvent) {
		div.attachEvent('onselectstart', preventDefault);
		div.attachEvent('onpaste', preventDefault);
	} else {
		div.addEventListener('paste', preventDefault);
		div.addEventListener('select', function (e) {
			var start = this.selectionStart,
				end = this.selectionEnd;
			if (this.selectionDirection === 'forward') {
				this.setSelectionRange(end, end);
			} else {
				this.setSelectionRange(start, start);
			}
		});
		div.addEventListener('mousedown', function () {
			this.addEventListener('keydown', preventDefault);
		});
		div.addEventListener('mouseup', function () {
			this.removeEventListener('keydown', preventDefault);
		});
	}
};