I may have missed something, but I am not sure how it works on a Desktop touch-enabled device, a la W8/IE. In this case, to my understanding, has('touch') will return true, correct ? If so, then the hover code won't be enabled. To me, has(''touch') is really about touch interaction detection, not runtime environment. Shouldn't the code detect if it's a desktop browser instead ?