jQuery plugin: ":hover" doesnt work in IE8
<p>I've written a jQuery plugin which makes an element pulse. It's working great in Chrome and Internet Explorer 9. In Internet Explorer 8, it's not working after the setTimeout call.</p>

<p>I've created a jsFiddle to demonstrate the problem: <a href="http://jsfiddle.net/Guykp/" rel="nofollow">http://jsfiddle.net/Guykp/</a>
Here's the javascript code:</p>

<pre><code>$(document).ready(function() {
  $.fn.pulseEffect = function(delay, duration) {
    var $element, animateOptions;
    $element = $(this);
    if (!$element.is(":hover")) {
      animateOptions = {
        opacity: $element.css("opacity") === "1" ? .6 : 1
      };
      $element.animate(animateOptions, duration);
    }
    return setTimeout((function() {
      return $element.pulseEffect(delay, duration);
    }), delay + duration);
  };

  $("#pulse-element").pulseEffect(0, 1000);
});
</code></pre>

<p>How can I make it working in Internet Explorer 8?</p>

<p>This is the error message from Internet Explorer 8: <strong>Syntax error, unrecognized expression: unsupported pseudo: hover</strong></p>

<p><strong>This is the solution:</strong>
<a href="http://stackoverflow.com/questions/1273566/how-do-i-check-if-the-mouse-is-over-an-element-in-jquery/2846405#2846405">How do I check if the mouse is over an element in jQuery?</a></p>
