You won't be able to select text, or do anything with your mouse (except listening to some mouse events in your code) until the pointer lock is released (either by using exitPointerLock or pressing ESC in some browsers). It not only renders your cursor invisible, but it actually removes your operating system's native cursor. To release the lock, you can use exitPointerLock: document.exitPointerLock() You can use requestPointerLock on an element to remove the cursor, and redirect all mousemove events to that element (which you may or may not handle): () While the cursor: none CSS solution is definitely a solid and easy workaround, if your actual goal is to remove the default cursor while your web application is being used, or implement your own interpretation of raw mouse movement (for FPS games, for example), you might want to consider using the Pointer Lock API instead.