2013-02-14 35 views
2

有一个麻烦的地方在于里面有一个带有表格的链接容器。最初我有一个围绕div的标签(里面有表格),因为它在HTML5中是“允许的”,但是在IE6-8中点击表格时没有重定向页面。

在这里看到一些类似的帖子,我发现问题是嵌套块内的元素内部行内元素IE(是我的惊讶)做正确的实现。为了解决这个问题,我添加了一个包装div,给它一个URL的数据路径属性并在jQuery中设置了一个click事件。

现在的问题是点击事件的作品,但返回未定义。如果你点击表格内容。我猜测这与我使用$(this)有关,但不是100%。

的HTML:

<div class="single-event" data-path="someUrl"> 
    <div class=""> 
     <h1></h1> 
     <p></p> 
     <table> 
      ........ 
     </table> 
    </div> 
</div> 

JS的

$('.single-event').click(function() { 
    window.location.href = $(this).attr('data-path'); 
}); 

请让我知道如果我能提高我的问题,谢谢您的任何反应!

+0

是$(this)返回undefined或只是'$'。如果它的后者比你缺少jQuery框架 – asifsid88 2013-02-14 10:56:58

回答

0

问题可能在于指派点击处理程序时文档dom还没有准备好。

将赋值函数包装在文档就绪事件处理程序中,就像这样。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.single-event').click(function() { 
      window.location.href = $(this).attr('data-path'); 
     }); 
    }); 
</script> 
+0

Doh!认为这会很简单,非常感谢 – 2013-02-14 12:21:10