preventDefault()对我不起作用

时间:2012-08-28 15:05:26

标签: javascript jquery preventdefault

为什么这会拒绝工作?
HTML内容

<div id="nav-bar">  
  <ul>  
    <li>  
      <span>  
        <a href="contact.html">Contact</a>  
      </span>  
    </li>  
  </ul>  
</div>

Javascript东西

$('div#nav-bar').filter('a').click(function(event){
    event.preventDefault();
});

2 个答案:

答案 0 :(得分:8)

仅筛选已筛选的内容。在您的情况下,#nav-bar元素。

你需要这个:

$('div#nav-bar a').click(function(event){
        event.preventDefault();
    });

答案 1 :(得分:2)

filter是在这里使用的错误方法。您应该使用find来查找选择中的元素:

$('div#nav-bar').find('a')...

或者只是将它组合成一个选择器:

$('div#nav-bar a')...

在您修复之后,您的preventDefault将实际应用并正常工作,直接对该段代码没有任何问题。