在IE中使用锚点的jquery委托

时间:2011-12-17 23:55:18

标签: jquery internet-explorer

我有一个在firefox和chrome中完美运行的网站,但是在IE 8中(尚未尝试过7)一些.on代表无法正常工作。特别是在锚标签上使用的那些。

HTML:

    <ui id='daylist'>
      <li><a href="#" class="day-selected"><span>Day </span><span class='number'>1</span></a></li>
      <li><a href="#"><span>Day </span><span class='number'>2</span></a></li>
      <li><a href="#"><span>Day </span><span class='number'>3</span></a></li>
      <li><a href="#"><span>Day </span><span class='number'>4</span></a></li>
      <li><a href="#"><span>Day </span><span class='number'>5</span></a></li>
      <li><a href="#"><span>Day </span><span class='number'>6</span></a></li>
      <li><a href="#"><span>Day </span><span class='number'>7</span></a></li>
    </ui>

使用Javascript:

    $('#daylist').on('click', 'a', function(e) {
        alert('clicked');
        pickDay(this); //this isn't important, the alert isn't even happening
        return false;
    });

我收录了jquery 1.7。我的问题是警报根本没有被调用。但仅限于IE

1 个答案:

答案 0 :(得分:1)

更改您的HTML:

<ul id='daylist'>
  <li><a href="#" class="day-selected"><span>Day </span><span class='number'>1</span></a></li>
  <li><a href="#"><span>Day </span><span class='number'>2</span></a></li>
  <li><a href="#"><span>Day </span><span class='number'>3</span></a></li>
  <li><a href="#"><span>Day </span><span class='number'>4</span></a></li>
  <li><a href="#"><span>Day </span><span class='number'>5</span></a></li>
  <li><a href="#"><span>Day </span><span class='number'>6</span></a></li>
  <li><a href="#"><span>Day </span><span class='number'>7</span></a></li>
</ul>

最高版本8的Internet Explorer不接受未知的HTML标记(例如HTML5标记)。您可以通过使用HTML5shim或HTML5shiv等一些Javascript来解决这个问题(如果需要)。